0

Twig テンプレートで文字列を比較するのに苦労しています。次の例は、if ステートメントを false に評価するres.website文字列が明らかに含まれていても、常に true に評価されます。none

なぜこれが起こっているのか、文字列がと等しくないnone場合にのみ true と評価する方法はありますか?

よろしくお願いします!

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

Twig (true と評価されます!)

{% 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 に答える