Ich arbeite an Symfony, Ich habe eine Beziehung: Produkt - OneToMany - Image. Ich möchte in meinem Produkt hinzufügen, hinzufügen 4 Bild.Symfony - Fügen Sie mehrere Formulare in einem Formular hinzu
Ich weiß, wie es mit JavaScript zu tun (Durch das Hinzufügen dynamisch Eingänge mit dem Muster ...), aber ich würde es in meiner Form zu tun, aber ich weiß nicht, wie ...
Hier ist mein Code:
ProductType.php
class ProjectType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title', TextType::class, array('label' => 'Titre'))
->add('url', UrlType::class, array('label' => 'URL'))
->add('client', TextType::class, array('label' => 'Client'))
->add('description', TextType::class, array('label' => 'Description'))
->add('category', EntityType::class, array(
'class' => 'AntoinePortfolioBundle:Category',
'choice_label' => 'name',
'multiple' => false,
'label' => 'Catégories'))
->add('tags', EntityType::class, array(
'class' => 'AntoinePortfolioBundle:Tag',
'choice_label' => 'name',
'multiple' => true,
'label' => 'Tags'))
->add('images', CollectionType::class, array(
'entry_type' => ImageType::class));
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Antoine\PortfolioBundle\Entity\Project'
));
}
}
ImageType.php
<?php
namespace Antoine\PortfolioBundle\Form;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ImageType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, array('label' => 'Nom'))
->add('alt', TextType::class, array('label' => 'alt'))
->add('file', FileType::class, array('label' => 'Image'));
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Antoine\PortfolioBundle\Entity\Image'
));
}
}
Meine Beziehungen funktionieren, das ist kein ne Problem.
Vielen Dank für Ihre Zeit!
Vielen Dank, aber ich habe bereits ein JavaScript-Skript geschrieben, eigentlich funktioniert es gut. Danke auch für diesen Link, ich überprüfe es! – Antoine