Craft ElementCriteriaModelクラスのオブジェクトをstringに変換できませんでした

私は、とりわけ資産フィールドを含むブロックタイプを含むMatrixフィールドを設定しました。
そのマトリックスフィールドの内容を反復しようとすると、他のフィールドタイプでもうまく動作しますが、アセットフィールドタイプを参照すると、次のエラーが発生します。

クラスCraft ElementCriteriaModelのオブジェクトを文字列に変換できませんでした

これは、エラーを生成するテンプレートの一部です。 「アイコン」はアセットフィールドタイプです。

{% for block in entry.visitorContentBuilder %}

    {% if block.type == "listItemWithIcon" %}

        {{ block.icon }}

    {% endif %}

{% endfor %}
ベストアンサー

最初のアセットだけが必要な場合は
block.icon.first()を使用するか、すべてのアセットをループすることができます:

{% for block in entry.visitorContentBuilder %}

    {% if block.type == "listItemWithIcon" %}

        
    {% for icon in block.icon %}

  • {{ icon }} {% endfor %}
 

    {% endif %}

{% endfor %}

詳しくは、こちらをご覧ください。
ElementCriteriaModelとCraft内の実際にフェッチされた要素の違い。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です