【shopify】dawn8.0にしたら購入数制限ができなくなった
いつかきちんとした記事にするとして…
これ絶対忘れてしまうので、とりあえずメモ。
基本、自分用メモなので、分かる方のみご参考になさってください。
dawn7.0まではmaxの指定だけでOK
main-product.liquidの「quantity_selector」にmax指定するだけでとりあえず制限できていた。
dawn8.0からは別設定も必要
詳しいことは調べてないけれど、上記の指定だけではとにかくどうにもならない。
該当箇所のコードを見ると下記のコードに変更になっていたのだが、設定項目は現時点で見当たらない。
main-product.liquidの234行目あたり。
<input
class="quantity__input"
type="number"
name="quantity"
id="Quantity-{{ section.id }}"
data-cart-quantity="{{ cart_qty }}"
data-min="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
min="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
{% 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 %}
step="{{ product.selected_or_first_available_variant.quantity_rule.increment }}"
value="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
form="{{ product_form_id }}"
/>
多分、今後のバージョンアップで変更予定なのか、私が見つけられなかったのか…
とにかく今後は設定できるようになる感じがしますね。
今回は商品毎に購入数制限をしたいという内容だったので、メタフィールドで設定していました。
dawn8.0でカートに入れるボタン付近がかなり変わっている印象だったので、念入りにチェックしていたところ、やっぱり変更点ありました。
上記コードを見ると…
min設定に「data-min」の設定が増え、max設定も同じで「data-max」の設定が増えていました。
この「data-max」を削除して、max設定だけにしてみてもまったく効き目なし。
セットにして設定すると正常に動きました。
多分、他にもいろいろありそうですが、今回は購入数制限だけできればいいので、これでよしとする。ことにする。
もしかしたらテーマのカスタマイズ項目とかに購入制限できるような項目が増えるかも…という感じはしますね。
product.selected_or_first_available_variant.quantity_rule
というのがどこで制御されているのかが見つけられれば、もうちょっとカスタマイズのヒントになりそうですが。
どのみち今回の案件には要件を満たさない気がしたので、深追いせず。
今回のカスタマイズは自分の開発環境のみで確認したので、実装される時は元に戻せるようにデータのバックアップ取ってからお試しください。
子育てと両立しながらデザイナーやってます。 フリーランス歴9年、法人成してもうすぐ3期目。基本ノンプログラマーですが、wordpress、shopfyなどカスタマイズ好きでいろいろやってます。 この記事がみなさまのお役に立てますように!