1

グループ化のために小枝で無線フィールドの名前を定義する方法があるかどうか疑問に思いました。現在、これは次のとおりです。

<input type="radio" 
       value="6" 
       required="required"
       name="root_companybundle_company[products]"
       id="root_companybundle_company_products_6">

名前が自動的に生成される場所。最善の方法は、FormType 要素で名前を定義することです。お気に入り:

namespace Root\CompanyBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

use Doctrine\ORM\EntityRepository;

class CompanyType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('products', 'entity', array(
                'class'    => 'CompanyBundle:Product',
                'label'    => 'Produkts',
                'property' => 'name',
                'multiple' => true,
                'expanded' => true,
                'required' => true,

                'groupBy' => 'groupName'
            ))
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Root\CompanyBundle\Entity\Company'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'root_companybundle_company';
    }
}

groupName私の製品エンティティのフィールド(文字列)になります。したがって、次のようになります。

<input type="radio" 
       value="6" 
       required="required"
       name="root_companybundle_company_mygroupName[products]"
       id="root_companybundle_company_mygroupName_products_6">

{{ form_widget( new_form.products ) }}そのため、毎回新しいラジオ グループを作成する代わりに、簡単にラジオボタンを取得でき ました。

私はいたるところを見ましたが、何も見つかりませんでした。方法はありますか?

4

0 に答える 0