我有一个尊重的表单模板,我找不到用Symfony创建它的最佳方法。
最终的表单渲染器应该是这样的(输入无线电):
--------------------------------------
| ○ | Description 1 | 0 $ |
-------------------------------------
| ○ | Description 2 | 10 $ |
--------------------------------------
| ○ | Description 3 | 50 $ |
--------------------------------------
| ○ | Description n | ... |
--------------------------------------
所以我创建了一个带有选择字段的FormType类,但只有一个标签是可能的。
我试过这个:
$builder
->add('quantity', 'choice', array(
'choices' => array(
50 => array('desc' => 'Description 1', 'price' => 0),
100 => array('desc' => 'Description 2', 'price' => 10),
150 => array('desc' => 'Description 3', 'price' => 50),
200 => array('desc' => 'Description 4', 'price' => 100),
)
)
;
但它不起作用,Symfony按行创建两个输入......
我也尝试使用ChoiceList,但我发现错误"数组到字符串转换错误" ...
您知道构建这个简单表单界面的最佳方法是什么?
答案 0 :(得分:2)
如Choice field docs所述,使用choices
字段显示无线电字段,您需要将字段更改为(因为它只接受单维数组):
$builder
->add('quantity', 'choice', array(
'expanded' => true,
'multiple' => false,
'choices' => array(
50 => 'what you want string',
100 => 'what you want string',
150 => 'what you want string',
200 => 'what you want string',
)
)
要获得更高级的需求,您需要使用choice_list
选项并相应地使用ChoiceListInterface或Build a Custom Field