FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

【Dawn】商品の購入点数を制限したい

【Dawn】商品の購入点数を制限したい

T_ym
観光客
9 0 2

 

どなたかご教示ください。

使用テーマ:Dawn 14.0.0

参考にした質問

https://community.shopify.com/c/%E6%8A%80%E8%A1%93%E7%9A%84%E3%81%AAq-a/%E3%82%A2%E3%83%97%E3%83%AA%...

 

上記質問の方と同様に、特定の商品にだけ個数制限を設けたいと思っています。

ここに記載のあった回答を参考に、各liquidファイルに以下の内容を追記しております。

 

main-product.liquid  「class="quantity__input"」部分

260行目に以下を挿入し保存

 

max="{% if product.metafields.custom.order_limit.value %}{{ product.metafields.custom.order_limit.value }}{% else %}99{% endif %}"

 

T_ym_0-1727072941024.png

 

cart-drawer.liquid(スニペットの方)「class="quantity__input"」部分

303行目に以下を挿入し保存(302行目は元々あったmax以下をコメントアウトしたものです)

 

max="{% if item.product.metafields.custom.order_limit.value %}{{ item.product.metafields.custom.order_limit.value }}{% else %}99{% endif %}"

 

T_ym_1-1727073161491.png

 

main-cart-items.liquid「class="quantity__input"」部分

264行目(261~263行目は元からあった部分をコメントアウトしたもの)

 

max="{% if item.product.metafields.custom.order_limit.value %}{{ item.product.metafields.custom.order_limit.value }}{% else %}99{% endif %}"

 

 

T_ym_2-1727073315032.png

 

カスタムしたメタフィールドの設定は以下の通りです。

T_ym_3-1727073484709.png

 

 

特に保存の際にエラーなどは出ず、商品管理画面で購入数制限のメタフィールドの設定はできるのですが

設定した個数以上をカートにいれることも、チェックアウト画面まで進むことも可能です。

 

そのため、個数制限がうまく機能していないと判断しました。

 

他に編集するべき項目があればご教示ください。

よろしくお願いいたします。

 

2件の返信2

株式会社ナレッジサービス
Shopify Partner
61 28 26

あくまでコードを見ただけで推測した回答になりますので、あらかじめご了承ください。

 

テーマのアップデートにより、参考にした回答からコードが変わっているように見えます。cart-drawer.liquidに以下の条件が追加されています。

{% if item.variant.quantity_rule.max != null %}

 

つまり、item.variant.quantity_rule.max に有効な値があるときにのみ個数制限が適用される、という設定になっています。

 

解決策としては、

・今回追加したコードの上下にあるコードを削除する(ifとendifの行)

・item.variant.quantity_rule.max != nullをitem.variant.quantity_rule.max == nullにしてしまう

 

などがあると思いますが、他の機能に影響する可能性もあるので、もし試す場合は自己責任で慎重に行ってください。

T_ym
観光客
9 0 2

ご提案ありがとうございます。

追加したコードの上にあった!=となっているif文を削除し、==に変更をしてみましたが、個数制限が実装されませんでした。

同様のコードが存在したmain-cart-items.liquidの方も変更をしております。

 

T_ym_0-1727404623732.png

 

そもそも変更の内容に誤りがありますでしょうか?

お忙しいところ恐縮ですがご教示いただけますと幸いです。