1. ホーム
  2. symfony

[解決済み] Symfony2のTwigテンプレートエンジンにオブジェクトが存在するかどうかを確認するにはどうしたらいいですか?

2023-06-02 20:33:46

質問

多次元配列に、存在するオブジェクトと存在しないオブジェクトがあります。私は

オブジェクトのためのメソッド "code" は、...に存在しません。 ?

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

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

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

Twigのドキュメントを見ると、オブジェクトやメソッドがない場合はnullを返すだけだと解釈したのですが?

どのように解決するのですか?

素早くルックアップを行い、これがあなたのために働くことを願っています: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 %}