Liquid、JavaScriptなどに関する質問
お世話になります。
既出の問題かもしれませんが、解決に至らなかったため質問させていただきます。
バリエーションにメタフィールドを追加することができますが、その表示はどのように行うことができるのでしょうか?
サイズのバリエーションがS、M、Lとあり、サイズによって重さ(g)や大きさ(cm)のメタフィールドを作成しています。それらをバリエーションに合わせて表示することができますでしょうか?
解決済! ベストソリューションを見る。
成功
@noi 様
例えば、大きさ(cm)のメタフィールドを下記のように設定したとします。
namaspace: custom
key: length
この時、選択中のバリエーションの大きさのメタフィールドを出力するには、下記のようにします。
{{ product.selected_variant.metafields.custom.length }}
しかし、
Shopifyの最近のテーマは、商品詳細ページで、バリエーションを切り替えた際に、
そのバリエーションのページに遷移するのではなく、
JavaScriptでレンダリングし直すのが主流になっています。
そのため、上記のliquidタグを記載しただけでは、
バリエーションを切り替えた際に、
切り替え先のバリエーションのメタフィールドの情報は表示されす、
最初にランディングした際のバリエーションのメタフィールドの情報が表示され続けます。
(バリエーションを切り替えた後、再読み込みをすれば、切り替え先のバリエーションのメタフィールドの情報が表示されます。)
これを解決するには、
JavaScriptで、
「バリエーション切り替えを検知し、切り替え先のバリエーションの情報に入れ替える」処理、
を作る必要があります。
ご参考まで。
(キュー田辺)
成功
@noi 様
例えば、大きさ(cm)のメタフィールドを下記のように設定したとします。
namaspace: custom
key: length
この時、選択中のバリエーションの大きさのメタフィールドを出力するには、下記のようにします。
{{ product.selected_variant.metafields.custom.length }}
しかし、
Shopifyの最近のテーマは、商品詳細ページで、バリエーションを切り替えた際に、
そのバリエーションのページに遷移するのではなく、
JavaScriptでレンダリングし直すのが主流になっています。
そのため、上記のliquidタグを記載しただけでは、
バリエーションを切り替えた際に、
切り替え先のバリエーションのメタフィールドの情報は表示されす、
最初にランディングした際のバリエーションのメタフィールドの情報が表示され続けます。
(バリエーションを切り替えた後、再読み込みをすれば、切り替え先のバリエーションのメタフィールドの情報が表示されます。)
これを解決するには、
JavaScriptで、
「バリエーション切り替えを検知し、切り替え先のバリエーションの情報に入れ替える」処理、
を作る必要があります。
ご参考まで。
(キュー田辺)
田辺さま
JavaScriptが必要になるとのことありがとうございます。
残念ながらノーコードでは難しそうですね。
お忙しい中、ご回答ありがとうございます。
いつもShopifyをご利用いただき、ありがとうございます。 Shopifyは、皆様の日本語での利用体験の向上に努めております。さらなる改善のために皆様のご意見をお寄せい...
By JasonH May 9, 2025Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025