【发布时间】:2019-02-18 20:56:37
【问题描述】:
我对 Symfony 和 Twig 完全陌生;就在昨天,我被扔进了一个使用它们的遗留项目。
我有一个由模板循环生成的Orders 列表,每个订单都有一个priority 从1 到5。
我想向每个Order row 添加一个下拉列表Select,它会提交一个更新Order 的priority 的表单并刷新页面。
我的问题是,我可以将 Symfony 的 buildForm 与这个架构结合使用吗?现在我手动构建了以下表单。甚至可以用 Twig 构建一系列相同的表单吗?:
{% 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 行项目的优先级会更改 Order 的优先级,然后刷新页面。
【问题讨论】:
标签: symfony symfony-2.1 formbuilder