私は、とりわけ資産フィールドを含むブロックタイプを含む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内の実際にフェッチされた要素の違い。