我对Symfony和Twig完全陌生;就在昨天,我被投入使用它的旧项目中。
我有一个Orders
由模板循环产生的列表,每个订单的1-5范围内都有一个priority
。
我想向每个Select
Order
添加一个下拉列表row
,以提交更新Order
的{{1}}的表单并刷新页面。
我的问题是,我可以将Symfony的buildForm与该体系结构结合使用吗?现在,我手动构建了以下表格。甚至可以用Twig建立一系列相同的形式吗?:
priority
这是我所追求的形象。更改任何{% for order in orders %}
<form method="post" action="{{ path('change_priority') }}" style="margin: 0; padding: 0;">
<div class="form-group">
<select name="priority" style="width: 35px; height: 20px;" onchange="this.form.submit()">
<option value="1" {% if order.currentBody.priority == 1 %} selected {% endif %}>1 - Low</option>
<option value="2" {% if order.currentBody.priority == 2 %} selected {% endif %}>2 - Normal</option>
<option value="3" {% if order.currentBody.priority == 3 %} selected {% endif %}>3 - High</option>
<option value="4" {% if order.currentBody.priority == 4 %} selected {% endif %}>4 - Critical</option>
<option value="5" {% if order.currentBody.priority == 5 %} selected {% endif %}>5 - No Priority</option>
</select>
<input name="order_id" value="{{order.serial}}" type="hidden" />
</div>
</form>
{% endfor %}
行项目的优先级都会更改Order
的优先级,然后刷新页面。
答案 0 :(得分:1)
您必须在表单类型中添加它们。 您无法在树枝模板中执行此操作。 如果使用{{form_row(form.select)}}之类的字段渲染字段,则即使您再次调用{{form_row(form.select)}},该字段也将被标记为已显示且不会再次渲染。