Liquid、JavaScriptなどに関する質問
いつもお世話になっております。
こちらの過去の質問を参考に個数制限を実装したいと考えています。
処理の流れはわかるのですが、勉強不足のため実際に書くべきコードがよくわかりません。
1.カートに追加する処理を止めるというのは、submitボタンにonclickイベントを記述し、
呼び出した関数内で商品が制限数を超えていたら、returnして処理を止めれば良いでしょうか?
2.数量制限商品がカートに何個投入されているかは、cartAPIを利用して取得するのでしょうか?
その場合のコードがよくわからず、教えていただけると大変助かります。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
るん 様
はじめまして。
株式会社フルバランスのドウケと申します。
一案ですが、ご参考になれば幸いです。
1.カートに追加する処理を止めるというのは、submitボタンにonclickイベントを記述し、呼び出した関数内で商品が制限数を超えていたら、returnして処理を止めれば良いでしょうか?
→商品が制限数に達していれば、カート追加ボタンにdisabled属性を付与する or カート追加ボタンを非表示にする、というのはいかがでしょうか。
2.数量制限商品がカートに何個投入されているかは、cartAPIを利用して取得するのでしょうか?
→以下のURLに記載の「GET /{locale}/cart.js」でカート情報を取得できます。
https://shopify.dev/api/ajax/reference/cart#get-locale-cart-js
コードは以下をjsファイルに記述してみてためしてください。
(async() => {
const response = await fetch('https://ご自身のshop名.myshopify.com/cart.js');
const {items} = await response.json();
// カート商品
console.log(items)
})()
どうぞよろしくお願いいたします。
成功
るん 様
はじめまして。
株式会社フルバランスのドウケと申します。
一案ですが、ご参考になれば幸いです。
1.カートに追加する処理を止めるというのは、submitボタンにonclickイベントを記述し、呼び出した関数内で商品が制限数を超えていたら、returnして処理を止めれば良いでしょうか?
→商品が制限数に達していれば、カート追加ボタンにdisabled属性を付与する or カート追加ボタンを非表示にする、というのはいかがでしょうか。
2.数量制限商品がカートに何個投入されているかは、cartAPIを利用して取得するのでしょうか?
→以下のURLに記載の「GET /{locale}/cart.js」でカート情報を取得できます。
https://shopify.dev/api/ajax/reference/cart#get-locale-cart-js
コードは以下をjsファイルに記述してみてためしてください。
(async() => {
const response = await fetch('https://ご自身のshop名.myshopify.com/cart.js');
const {items} = await response.json();
// カート商品
console.log(items)
})()
どうぞよろしくお願いいたします。
株式会社フルバランス
ドウケ様
ご回答ありがとうございます。
1.確かにボタンにdisabled属性をつけるのでも良いですね。
数量セレクターにmax属性を併用すれば、個数制限を実装できそうです。
試してみます。
2.コードを教えていただき、ありがとうございます。
リファレンスにAPIコールの例が載っていなかったため、よくわからなかったのですが、教えていただいたコードでカートの商品情報を取得できました。
こちらを使用すれば、カートの商品数量を取得できそうです。
こちらを使用して、実装してみようと思います。
ありがとうございました。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024