是否有可能在Symfony 3中迭代ChoiceType值?我可以设置好的值,但它们只是在我无法控制的大块输出。我想循环遍历每个值并将其格式化/放在table / div / columns等中。
$builder->add('tOptions', ChoiceType::class, array(
'choices' => array(
'one' => true,
'two' => true,
'three' => true,
'four' => true,
'five' => true,
),
'expanded' => true,
'multiple' => true,
'required' => false,
));
注意:我不是在twig中输出,只是在PHP中输出。
echo $view['form']->widget($form['tOptions']);
结果:
<div id="t_options_tOptions">
<input type="checkbox" id="t_options_tOptions_0" name="t_options[tOptions][]" value="0">
<label for="t_options_tOptions_0">one</label>
<input type="checkbox" id="t_options_tOptions_1" name="t_options[tOptions][]" value="1">
<label for="t_options_tOptions_1">two</label>
<input type="checkbox" id="t_options_tOptions_2" name="t_options[tOptions][]" value="2">
<label for="t_options_tOptions_2">three</label>
<input type="checkbox" id="t_options_tOptions_3" name="t_options[tOptions][]" value="3">
<label for="t_options_tOptions_3">four</label>
<input type="checkbox" id="t_options_tOptions_4" name="t_options[tOptions][]" value="4">
<label for="t_options_tOptions_4">five</label>
</div>
如何迭代这些输入选项,以便将每个输入选项包装在div中或拆分为两个偶数列等。
答案 0 :(得分:1)
这是我在自己的项目中使用的解决方案
DECLARE @date DATETIME = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
或者您可以使用表单主题
{{form_label(form.transport)}}
{% for key, item in form.transport.children %}
<div class="custom-radio">
<label for="{{item.vars.id}}">{{item.vars.label}}</label>
<input
type="radio"
value="{{item.vars.value}}"
id=" {{item.vars.id}}"
name="{{item.vars.full_name}}"
{{ item.vars.checked ? 'checked' : '' }}
>
</div>
{% endfor %}
答案 1 :(得分:0)
要自定义您必须为选择小部件创建自定义模板。具体来说,您可以扩展choice_widget_options.html.php
file。
要应用样式,您可以按照Form Theming in PHP文档进行操作。值得注意的是,使用Twig扩展模板会更简单。