商品のメタフィールドを商品詳細以外の箇所(特集コレクション)で表示したい

Topic summary

Dawnテーマを使用しているユーザーが、商品のメタフィールドを特集コレクション内で表示しようとしたが、商品詳細ページでは表示されるものの、特集コレクションでは表示されない問題に直面。

原因と解決策:

  • card-product.liquidではproductオブジェクトではなくcard_productオブジェクトが使用される
  • Dawn 11.0.0のテーマファイル上部にcard_product: {Object} Product Liquid objectの記載がある

修正方法:

{% assign product_metafield = card_product.metafields.custom.xxx %}
{% if product_metafield %}
  {{ product_metafield }}
{% endif %}

変数名をproduct.metafieldsからcard_product.metafieldsに変更することで表示可能に。テーマバージョンによって動作が異なる可能性があるため注意が必要。質問者は解決を確認。

Summarized with AI on November 16. AI used: claude-sonnet-4-5-20250929.

Dawnを利用しています。

商品に登録したメタフィールドを
ページ内に設置した特集コレクションの商品で表示したいです。

Card-product.liquid
に以下を記述したところ、

{% assign product_metafield = product.metafields.custom.xxx %}
{% if product_metafield %}

{{ product_metafield }}

{% endif %}

「商品詳細」に設置した「おすすめ商品」ではcustom.xxxの内容が表示されるのですが
「ページ」に追加した「特集コレクション」の商品では表示されません。

どのように記述すればよいのでしょうか?

@yokoshinoharaAr

ご質問いただいている、「特集コレクション」でメタフィールドの内容を表示したい件ですが、Dawn11.0.0のテーマで確認したところ、card-product.liquidの上部に下記の記載があり、

Accepts:
- card_product: {Object} Product Liquid object (optional)

記載いただいた「product.metafields.custom.xxx」を「card_product.metafields.custom.xxx」と変更すると表示できる様です。

修正コード

{% assign product_metafield = card_product.metafields.custom.xxx %}
{% if product_metafield %}
  

{{ product_metafield }}

{% endif %}

また、テーマのバージョンが異なる場合は、動かない場合もございますので、その際はご了承ください。

ご参考まで
(キュー小坂)

1 Like

ご回答いただき、誠にありがとうございます。

表示されるようになりました!