我有以下内容:
{% 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 />
我可以为每个星期的每一天做的事情。
我想知道是否有一种方法可以简化代码,使其更易读。
{% 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 %}
使用Twig。
非常感谢您的帮助。我已经不知道该搜索哪些关键词了。
promo
是一个对象,它必须实现ArrayAccess
接口(至少对于Twig版本1.16)。然后,Twig似乎会在使用getter之前使用接口实现来访问对象属性,正如Twig文档这里所解释的那样。 - Pascal Luxainpromo["#{i}_unavailable"]
,如Twig文档(版本1.16)所述。 - Pascal Luxain