2

我在 Symfony 2.3 中有一个视图,它显示了员工喜欢和不喜欢的完整列表。我正在尝试在此视图的顶部创建一个简单的表单,以按员工姓名过滤列表。

我目前使用常规 HTML 和一些 TWIG 条件语句在 twig 模板中创建了表单,以检查employee_name GET 参数是否与其中一名员工匹配。此解决方案有效,但并不理想。

<form action="{{ path('report') }}" method="GET">
    <select id='employee_name' name='employee_name'>
         <option value='John' {% if app.request.get("employee_name") == 'John' %} selected {% endif %}>John</option>
         <option value='Aaron' {% if app.request.get("employee_name") == 'Aaron' %} selected {% endif %}>Aaron</option>
         <option value='Sam' {% if app.request.get("employee_name") == 'Sam' %} selected {% endif %}>Sam</option>
    </select>
    <button type="submit">Submit</button>
</form>

我的问题是,有没有办法使用表单生成器编写上述表单并在提交时仍然自动填充字段?我希望我的过滤器表单具有可扩展性和可重用性。也许只使用 Twig Include 会更好?欢迎提出建议。

4

1 回答 1

0

当然。只需使用表单构建器创建表单并在 Twig 中呈现它。由于您正在使用该GET方法并且如果您正在调用$form->handleRequest($request),表单将根据GET参数选择正确的值。

于 2013-09-09T10:54:51.007 回答