Liquid、JavaScriptなどに関する質問
設定 > カスタムデータ
から、「商品 > バリエーション」にメタフィールドを追加することは出来ると思います。
しかしこちらで追加したものは、
各商品ページの「各バリエーション(選択肢1つ1つ)」に対して追加されます。
今回は、そうではなくその親にメタフィールドを追加したいです。
例えば通常であれば、
===
サイズ
S M L
===
とあるとして、
「商品 > バリエーション」に追加したフィールドは、
各「S M L」の中で設定できます。
そうではなく、
「サイズ」に対してメタフィールドを設定したい、と考えております。
例えば「サイズ」「カラー」というバリエーションがあったとします。
その中で、
「サイズ」→「※サイズによって素材が異なる場合があります。」
「カラー」→「※カラーによって商品重量が異なります。」
というように、そのバリエーション(親)に対しての注釈を付けたい、
という部分でございます。
(こちらの用途を達成できるのであれば、メタフィールドでなくても構いません)
分かりづらい内容で大変恐れ入りますが、
ご教示いただけますと幸いです。
解決済! ベストソリューションを見る。
成功
状況把握いたしました。
例えばDawnですと、main-product.liquid の
{%- for option in product.options_with_values -%} の中に下記コードを挿入すると
イメージ通りの表示が可能です。
{% if option.name == 'サイズ' %}
<p>※サイズによって素材が異なる場合があります。</p>
{% elsif option.name == 'カラー' %}
<p>※カラーによって商品重量が異なります。</p>
{% endif %}
他テンプレートの場合も、バリエーションごとにinputを生成している部分のコードを
探してその中に、オプションの名前ごとに表示を変更する、という分岐を
書けば実現できます。
バリエーションにメタフィールドを紐づけるのは難しいかと思います。
メタオブジェクトを利用するなどいくつか代案はありますが
下記コードをliquidテンプレート内に挿入することで
特定のオプションがあった場合に、注釈をいれることは実現可能です。
{% for option in product.options %}
<div>
{% if option == 'サイズ' %}
<p>※サイズによって素材が異なる場合があります。</p>
{% elsif option == 'カラー' %}
<p>※カラーによって商品重量が異なります。</p>
{% endif %}
</div>
{% endfor %}
御指南ありがとうございます!
そうですよね、、、
でもLiquidの条件分岐で代替できる旨、
そしてコードまで、ありがとうございます。
こちらの案もバックアップとして使いたいと思います。
心強いコメントに感謝いたします。
メタオブジェクト
というものについて少し調べてみます。
追記:
最も理想形は、添付画像のように、
「各バリエーションに属した感じで注釈を表示」としたい感じです。
(※以下の画像はDevツールで手動でDOMを書き換えたイメージになります)
成功
状況把握いたしました。
例えばDawnですと、main-product.liquid の
{%- for option in product.options_with_values -%} の中に下記コードを挿入すると
イメージ通りの表示が可能です。
{% if option.name == 'サイズ' %}
<p>※サイズによって素材が異なる場合があります。</p>
{% elsif option.name == 'カラー' %}
<p>※カラーによって商品重量が異なります。</p>
{% endif %}
他テンプレートの場合も、バリエーションごとにinputを生成している部分のコードを
探してその中に、オプションの名前ごとに表示を変更する、という分岐を
書けば実現できます。
続けてご指南いただきありがとうございます!
概ね、頂いた内容で実装できました!
より理想系にするため引き続きカスタムしますが、
考え方と記述法を知れたおかげで次に繋がりました。
本当にありがとうございます!
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024