我想知道是否有办法在树枝中定义无线电字段的名称以进行分组。目前正是这样:
<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 ) }}
获取我的单选按钮,而不是每次都创建一个新的广播组。
我到处看,但没有找到任何东西。有办法吗?