我要做的是使用twig模板包含/删除基于if语句的标记。这看起来很简单,但我对整个PHP(和twig)都很新,并且不确定为什么这不起作用...
{% set regions = ["en", "en-euw", "de", "es", "fr", "it", "en-eune", "pl", "ro", "el", "pt-br", "tr", "ru", "mx" ] %}
{% if {{ locale.url_code }} is iterable %}
<p>lol bro</p>
{% endif %}
首先,{{locale.url_code}}将打印数组中的一个语言代码,但是除了数组中列出的语言代码之外还有很多。
基本上我正在尝试设置一个包含相应语言/区域代码的数组,如果{{locale.url_code}}在“regions”数组中,则在if语句中显示标记。我并不完全确定iterable是如何工作的......但我认为这对于完成这项工作至关重要。我也不是100%确定我正确设置阵列......
非常感谢任何帮助或指示。
谢谢!
答案 0 :(得分:2)
上面的答案是一个很好的起点,但我无法让in_array在twig模板中工作。幸运的是,在扫描了一些twig文档之后,我看到了关于containment operators的规则,这些规则允许我完全按照我需要做的做法,用一种奇怪的类似ruby的语法。请参阅以下工作代码:
{% set regions = ['en', 'en-euw', 'de', 'es', 'fr', 'it', 'en-eune', 'pl', 'ro', 'el', 'pt-br', 'tr', 'ru', 'mx' ] %}
{% if locale.url_code in regions %}
<p>lol bro</p>
{% endif %}
希望这可以帮助任何寻找方法的人。