件名のに記載した商品ごとで購入の上限数を設定する方法を知りたいです。
商品メタフィールドの設定などを試みたのですが、上手く反映されず困っています。
具体的には以下のような挙動をイメージしております。
・商品ごと(又は全ての商品)に購入個数の制限をかける。
・カートの数量セレクターの数値が「3」に達したら+キーが動かない
利用しているテーマは[Dawn]です。
初心者のため、コードの編集方法、編集場所などご教示いただけますと幸いです。
件名のに記載した商品ごとで購入の上限数を設定する方法を知りたいです。
商品メタフィールドの設定などを試みたのですが、上手く反映されず困っています。
具体的には以下のような挙動をイメージしております。
・商品ごと(又は全ての商品)に購入個数の制限をかける。
・カートの数量セレクターの数値が「3」に達したら+キーが動かない
利用しているテーマは[Dawn]です。
初心者のため、コードの編集方法、編集場所などご教示いただけますと幸いです。
Dawn(11.0.0)の場合は「main-product.liquid」内にある数量セレクターを出力する「
quantity_selector」部分のタグ内に以下のコードがあります。
{% if product.selected_or_first_available_variant.quantity_rule.max != null %}
data-max="{{ product.selected_or_first_available_variant.quantity_rule.max }}"
max="{{ product.selected_or_first_available_variant.quantity_rule.max }}"
{% endif %}
ここで最大注文数を出力しているので、メタフィールドを使って任意の数値にするには以下の様に編集します。
{%- liquid
assign quantity_meta_max = product.metafields.xxx.xxxx
if quantity_meta_max
assign quantity_max = quantity_meta_max.value
else
assign quantity_max = product.selected_or_first_available_variant.quantity_rule.max
endif
-%}
{% if product.selected_or_first_available_variant.quantity_rule.max != null or quantity_meta_max %}
data-max="{{ quantity_max }}"
max="{{ quantity_max }}"
{% endif %}
商品メタフィールドのネームスペースとキーは設定に合わせて変更してください。
メタフィールドに整数が入力されていれば指定した上限数が出力され、未入力の場合はquantity_rule.maxの値が出力されます。
また、カートページの数量セレクターも編集する場合はラインアイテムの構造にご注意ください。