【发布时间】:2015-07-09 18:44:54
【问题描述】:
我正在使用 Symfony 表单和 Twig 创建过滤器,但发生了一些奇怪的事情,我不知道为什么。我有 4 个选择字段,前 2 个选择字段返回正确的值,但最后 2 个选择字段返回与第二个选择字段相同的值。
这是控制器的代码
// Create Form
$filterForm = $app['form.factory']->createNamed('filterForm')
// search
->add('title', 'text')
// date
->add('dates', 'choice', array(
'choices' => $DatesForCombo,
'placeholder' => 'Kies...',
'required' => false))
// category
->add('categories', 'choice', array(
'choices' => $CategoriesForCombo,
'placeholder' => 'Kies...',
'required' => false))
// location
->add('locations', 'choice', array(
'choices' => $LocationsForCombo,
'placeholder' => 'Kies...',
'required' => false))
// organiser
->add('organisers', 'choice', array(
'choices' => $OrganisersForCombo,
'placeholder' => 'Kies...',
'required' => false))
// is_gentian
->add('gents',null,array(
'label' => 'Enkel Gents gesproken',
'required' => false))
->add('gentsGesproken', 'checkbox', array(
'value' => 'Y',
'required' => false))
// is_free
->add('gratis',null,array(
'label' => 'Enkel gratis events',
'required' => false))
->add('gratisEvents', 'checkbox', array(
'value' => 'Y',
'required' => false));
这是 Twig 模板的代码
<form action="{{ path('events.index') }}" method="post" {{ form_enctype(filterForm) }} novalidate="novalidate" role="form">
<fieldset>
<legend>Filter Events</legend>
<div class="form-group">
{{ form_widget(filterForm.title, { 'attr' : { 'class': 'form-control', 'name' : 'filterform[title]', 'id':'filterform_title' }} ) }}
</div>
<!-- filter dates -->
<div class="form-group">
{{ form_widget(filterForm.dates, { 'attr' : { 'class': 'form-control', 'name' : 'filterform[day]', 'id':'filterform_title' }} ) }}
</div>
<!-- filter categories -->
<div class="form-group">
{{ form_widget(filterForm.categories, { 'attr' : { 'class': 'form-control', 'name' : 'filterform[category]', 'id':'filterform_categories' }} ) }}
</div>
<!-- filter location -->
<div class="form-group">
{{ form_widget(filterForm.locations, { 'attr' : { 'class': 'form-control', 'name' : 'filterform[location]', 'id':'locations' }} ) }}
</div>
<!-- filter organisers -->
<div class="form-group">
{{ form_widget(filterForm.organisers, { 'attr' : { 'class': 'form-control', 'name' : 'filterform[organiser]', 'id':'organisers' }} ) }}
</div>
<div class="form-group">
<!-- filter chckbx Gents gesproken -->
<label>
{{ form_widget(filterForm.gentsGesproken) }}
{{ form_label(filterForm.gents) }}
</label>
<!-- filter chckbx Gratis events -->
<label>
{{ form_widget(filterForm.gratisEvents) }}
{{ form_label(filterForm.gratis) }}
</label>
</div>
<input type="hidden" id="filterform__token" name="filterform[_token]" value="lJ3pQTYX8yEbYpDhmHH6V_ktwtbz_5BdWP0Fss6Z7s0" />
<button type="submit" id="filterform_filter" name="filterform[filter]" class="btn btn-primary pull-right">Filter</button>
</fieldset>
</form>
使用的4个数组当然不同,谁能帮帮我?
【问题讨论】:
-
可以添加生成的 HTML 输出吗?
标签: php forms symfony twig silex