PHP Collectiontype表单细枝设计

PHP Collectiontype表单细枝设计,php,forms,symfony,twig,Php,Forms,Symfony,Twig,我已经学习了如何为collectiontype制作表单/细枝的教程。我现在面临的问题是,我喜欢改变表单设计,但我不知道如何去做。我想把属性“Aantal”放在“Artikel”旁边。所以我希望你们能帮我 枝形 “Bestelordernummer、Leverancier和Keuringseisen”表格 <?php namespace AppBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Co

我已经学习了如何为collectiontype制作表单/细枝的教程。我现在面临的问题是,我喜欢改变表单设计,但我不知道如何去做。我想把属性“Aantal”放在“Artikel”旁边。所以我希望你们能帮我

枝形

“Bestelordernummer、Leverancier和Keuringseisen”表格

<?php

namespace AppBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;


class BestellingType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        //gebruiken wat je nodig hebt, de id hoeft er niet bij als deze auto increment is
        $builder
            ->add('bestelordernummer', IntegerType::class) //naam is b.v. een attribuut of variabele van klant
        ;
        $builder
            ->add('leverancier', TextType::class) //naam is b.v. een attribuut of variabele van klant
        ;
        $builder
            ->add('keuringseisen', TextType::class, array ('required' => false)) //naam is b.v. een attribuut of variabele van klant
        ;
        $builder
            ->add('bestelregels', CollectionType::class, [
                'entry_type' => BestelregelType::class,
                'allow_add' => true
            ])
        ;
    }

    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'AppBundle\Entity\Bestelling'
        ));
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix()
    {
        return 'appbundle_bestelregel';
    }


}
“Artikel and Aantal”表格

<?php

namespace AppBundle\Form\Type;

use AppBundle\Entity\Artikel;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;

class BestelregelType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        //gebruiken wat je nodig hebt, de id hoeft er niet bij als deze auto increment is
        $builder
            ->add('artikel', EntityType::class, [
                'class' => 'AppBundle:Artikel',
                'choice_label' => function (Artikel $artikel) {
                    return $artikel->getArtikelnummer() . ' - ' . $artikel->getOmschrijving() . ' - Bestelserie: ' . $artikel->getBestelserie();
                }
            ])
            ->add('aantal');
    }

    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'AppBundle\Entity\Bestelregel'
        ));
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix()
    {
        return 'appbundle_bestelregel';
    }


}

提前谢谢。

谢谢你的回答,但遗憾的是,它不起作用。它似乎跳过了它。
{% for bestelregelField in form.bestelregels %}
    <li>
        {{ form_errors(bestelregelField) }}
        <div class="row">
             <div class="col-md-8">
                 {{ form_widget(bestelregelField.artikel) }}
             </div>
             <div class="col-md-4">
                 {{ form_widget(bestelregelField.aantal) }}
             </div>
        </div>
    </li>
{% endfor %}
<?php

namespace AppBundle\Form\Type;

use AppBundle\Entity\Artikel;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;

class BestelregelType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        //gebruiken wat je nodig hebt, de id hoeft er niet bij als deze auto increment is
        $builder
            ->add('artikel', EntityType::class, [
                'class' => 'AppBundle:Artikel',
                'choice_label' => function (Artikel $artikel) {
                    return $artikel->getArtikelnummer() . ' - ' . $artikel->getOmschrijving() . ' - Bestelserie: ' . $artikel->getBestelserie();
                }
            ])
            ->add('aantal');
    }

    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'AppBundle\Entity\Bestelregel'
        ));
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix()
    {
        return 'appbundle_bestelregel';
    }


}
{% for bestelregelField in form.bestelregels %}
    <li>
        {{ form_errors(bestelregelField) }}
        <div class="row">
             <div class="col-md-8">
                 {{ form_widget(bestelregelField.artikel) }}
             </div>
             <div class="col-md-4">
                 {{ form_widget(bestelregelField.aantal) }}
             </div>
        </div>
    </li>
{% endfor %}