我有一个表单,显示可供选择的类别下拉菜单。
这些类别是使用 Gedmo Tree Extension 设置的,因此一个类别可以有子类别。
我在表单生成器中有一个自定义查询,它仅选择属于特定组的类别。但是,我需要能够在下拉列表中显示哪些类别是父母,哪些是孩子,例如
Parent Category 1
-- Child Category A
-- Child Category B
Parent Category2
-- Child Category C
知道我该如何实现这一目标吗?
另外,如何从调用 formtype 的控制器将变量传递给我的 query_builder?
如果您不需要选择父级,则可以使用 optgroup 标签
<select>
<optgroup label="Category 1">
<option>Option 1...</option>
<option>Option 2...</option>
<option>Option 3...</option>
</optgroup>
<optgroup label="Category 2">
<option>Option 1...</option>
<option>Option 2...</option>
<option>Option 3...</option>
</optgroup>
</select>
Edit:
Symfony 2 支持带有数组的 optgroup 标签(未经测试,可能有错误):
public function buildForm(FormBuilder $builder, array $options)
{
$category_choices = array(
array('Category 1' => array(
'1' => 'Option 1...',
'2' => 'Option 2...',
'3' => 'Option 3...'
)),
array('Category 2' => array(
'4' => 'Option 4...',
'5' => 'Option 5...'
))
);
$builder->add('category_list', 'choice', array(
'label' => 'Category',
'choices' => $category_choices
));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)