Symfony2のTwigテンプレートエンジンにオブジェクトが存在するかどうかをどのように確認しますか?


84

一部のオブジェクトが存在し、他のオブジェクトが存在しない多次元配列があります。私は取得し続けます

オブジェクト「stdClass」のメソッド「code」がに存在しません...

テンプレートで使用しているコードは次のとおりです。

{% for item in items %}
    <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p>
{% endfor %}

一部の製品にはこのコードがありませんが、残念ながらこのデータ構造はフィードを介して提供されるため、変更できません。

Twigのドキュメントを見ると、オブジェクトまたはメソッドがない場合はnullが返されると解釈しました。

回答:


150

すばやくルックアップを行いました。これがうまくいくことを願っています:p

定義済み

definedは、変数が現在のコンテキストで定義されているかどうかをチェックします。これは、strict_variablesオプションを使用する場合に非常に便利です。

{# defined works with variable names #}
{% if foo is defined %}
    ...
{% endif %}

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.