我需要twig根据来自控制器的值显示图像.例如,如果来自控制器的值是(家庭或家庭或装修或装修或租赁或租赁)并且列表继续,则应该出现在房屋的图像中.
目前正在做的事情如下
{% if goal == "house" or goals == "House" or goal == "home" or goals == "Home" %}
<img src="{{ asset('bundles/bundlename/images/house.jpg') }}">
{% endif %}
Run Code Online (Sandbox Code Playgroud)
这个清单很长,而且很快就会失控.所以我想在树枝上创建一个数组并检查来自控制器的值是否存在于我在twig中的数组中以显示图像.
您可以使用{key: value}或[value1, value2]语法定义数组.在这里阅读更多关于数组和树枝的信息.
你可以这样做:
{% set images = {
"house.jpg": ["house", "House", "home", "Home"]
... some more rules ...
} %}
{% for image, keys in images %}
{% if goal in keys %}
<img src="{{ asset('bundles/bundlename/images/' ~ image) }}">
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
此外,{% if goal|lower in keys %}如果您始终需要检查两种情况,您只能以小写形式简化代码并定义键.