在Twig模板中输出月份列表的最佳方法是什么?

时间:2016-05-18 01:39:51

标签: symfony twig

在Twig模板中输出月份列表的最佳方法是什么?例如,在出生日期字段中创建一个月下拉列表。我所追求的格式是:

<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>

2 个答案:

答案 0 :(得分:4)

你可以使用一个简单的循环12来为每个月创建一个日期字符串,然后通过Twig的日期过滤器运行它,如下所示:

{% for month in 1..12 %}
    {% set date = month ~ "/1/2016" %}
    <option value="{{ date|date("m") }}">{{ date|date("F") }}</option>
{% endfor %}

这会产生所要求的格式:

<option value="01">January</option>
<option value="02">February</option>
<option value="03">March</option>
<option value="04">April</option>
<option value="05">May</option>

可以使用php's date format options轻松更改格式。

示例here的TwigFiddle。

答案 1 :(得分:3)

表单组件实际上是这样做的,您只需要设置格式:

$builder->add('birth_date', DateType::class, ['format' => 'ddMMMMyyyy']);

输出结果为:

<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
...