お世話になります。
既出の問題かもしれませんが、解決に至らなかったため質問させていただきます。
バリエーションにメタフィールドを追加することができますが、その表示はどのように行うことができるのでしょうか?
サイズのバリエーションがS、M、Lとあり、サイズによって重さ(g)や大きさ(cm)のメタフィールドを作成しています。それらをバリエーションに合わせて表示することができますでしょうか?
商品バリエーションに追加したメタフィールド(サイズ別の重量や大きさなど)を表示する方法についての質問。
基本的な表示方法:
{{ product.selected_variant.metafields.custom.length }} で選択中のバリエーションのメタフィールドを出力可能技術的な課題:
最近のShopifyテーマでは、バリエーション切り替え時にページ遷移せず、JavaScriptで再レンダリングする仕様が主流。そのため:
現状:
質問者はJavaScriptでの実装が難しいと感じており、解決には至っていない状態。
お世話になります。
既出の問題かもしれませんが、解決に至らなかったため質問させていただきます。
バリエーションにメタフィールドを追加することができますが、その表示はどのように行うことができるのでしょうか?
サイズのバリエーションがS、M、Lとあり、サイズによって重さ(g)や大きさ(cm)のメタフィールドを作成しています。それらをバリエーションに合わせて表示することができますでしょうか?
@noi 様
例えば、大きさ(cm)のメタフィールドを下記のように設定したとします。
namaspace: custom
key: length
この時、選択中のバリエーションの大きさのメタフィールドを出力するには、下記のようにします。
{{ product.selected_variant.metafields.custom.length }}
しかし、
Shopifyの最近のテーマは、商品詳細ページで、バリエーションを切り替えた際に、
そのバリエーションのページに遷移するのではなく、
JavaScriptでレンダリングし直すのが主流になっています。
そのため、上記のliquidタグを記載しただけでは、
バリエーションを切り替えた際に、
切り替え先のバリエーションのメタフィールドの情報は表示されす、
最初にランディングした際のバリエーションのメタフィールドの情報が表示され続けます。
(バリエーションを切り替えた後、再読み込みをすれば、切り替え先のバリエーションのメタフィールドの情報が表示されます。)
これを解決するには、
JavaScriptで、
「バリエーション切り替えを検知し、切り替え先のバリエーションの情報に入れ替える」処理、
を作る必要があります。
ご参考まで。
(キュー田辺)
田辺さま
JavaScriptが必要になるとのことありがとうございます。
残念ながらノーコードでは難しそうですね。
お忙しい中、ご回答ありがとうございます。