use*_*590 4 php templating symfony twig
我有以下内容:
{% if promo.monday_unavailable == 1 %}
not available mondays
{% elseif promo.monday_available == 1%}
available mondays
{% else %}
available mondays from {{promo.monday_start}} until {{promo.monday_end}}
{% endif %}
<br />
{% if promo.tuesday_unavailable == 1 %}
not available tuesdays
{% elseif promo.tuesday_available == 1%}
available tuesdays
{% else %}
available tuesdays from {{promo.tuesday_start}} until {{promo.tuesday_end}}
{% endif %}
<br />
Run Code Online (Sandbox Code Playgroud)
...
我想为一周中的每一天做些什么.
我想知道是否有一种方法可以简化代码阅读
{% for i in ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'] %}
{% if promo.~i~"_unavailable" == 1 %}
not available mondays
{% elseif promo.~i~"_available" == 1%}
available mondays
{% else %}
available mondays from {{promo.~i~"_start"}} until {{promo.~i~"_end"}}
{% endif %}
<br />
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
用Twig.
任何帮助,将不胜感激.我不知道要搜索哪些关键字了.
我知道这是一个旧线程,但twig支持内联插值,如:
{{i18n("language_#{langId}")}}
Run Code Online (Sandbox Code Playgroud)
重要的是要插入的字符串是双引号.
通过将我的额头砸在键盘上找到答案。
而不是
{% if promo.~i~"_unavailable" == 1 %}
Run Code Online (Sandbox Code Playgroud)
使用
{% promo[i~"_unavailable"] == 1 %)
Run Code Online (Sandbox Code Playgroud)