0

我很难比较 Twig 模板中的字符串。以下示例始终评估为 true,即使res.website明确包含none应该使 if 语句评估为 false 的字符串。

任何想法为什么会发生这种情况以及如何仅在字符串等于时才将其评估为真none

提前谢谢了!

   {{res.website}}//output: none

树枝(评估为真!)

{% 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

4

2 回答 2

2

用双引号将变量括起来肯定不会给出预期的结果。它只会将其{{res.website}}视为字符串并将其与none.

简单地写:

{% if res.website != "none" %}
    <img src="{{ asset('bundles/foo/images/web-icon.png') }}" />
{% endif %}

如果仍然有错误,请确保res是当前范围内的有效变量。

于 2013-10-05T18:00:42.110 回答
0

里面{% %}不需要封闭变量{{ }}

利用

{% if res.website != "none" %}
    <img src="{{ asset('bundles/foo/images/web-icon.png') }}" />
{% endif %}
于 2017-03-23T10:17:09.883 回答