我很难比较Twig模板中的字符串。以下示例始终计算结果为true,即使res.website
明确包含字符串none
,该字符串应使if语句的计算结果为false。
为什么会发生这种情况的任何想法,以及只有当字符串不等于none
时,如何才能将其评估为真?
非常感谢提前!
{{res.website}}//output: none
Twig(评估为真!)
{% if "{{res.website}}" != "none" %}
<img src="{{ asset('bundles/foo/images/web-icon.png') }}" />
{% endif %}
注意:当我从if "{{ ... }}"
周围删除引号时,出现以下错误:
A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses
答案 0 :(得分:1)
用双引号括起你的变量肯定不会给出预期的结果。它只会将{{res.website}}
视为字符串,并将其与none
进行比较。
简单地写一下:
{% if res.website != "none" %}
<img src="{{ asset('bundles/foo/images/web-icon.png') }}" />
{% endif %}
如果仍有错误,请确保res
是当前范围内的有效变量。
答案 1 :(得分:0)
在{% %}
内,无需包含变量{{ }}
使用
{% if res.website != "none" %}
<img src="{{ asset('bundles/foo/images/web-icon.png') }}" />
{% endif %}