質問 > フロント機能 > 在庫切れ商品の判定処理(【カートに入れる】→【品切れ】 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
limtae |
投稿日時: 2020/12/22 23:52
対応状況: −−−
|
新米 登録日: 2020/12/22 居住地: 投稿: 2 |
Re: 在庫切れ商品の判定処理(【カートに入れる】→【品切れ】 ECCUBEについてまだ仕様が把握できていない部分が多かったのですが、改めて購入を完了させ、検証したところボタンが「ただいま品切れ中です。」に変わりました。
正確かつ丁寧なご回答ありがとうございます。 |
468 |
投稿日時: 2020/12/22 20:48
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 在庫切れ商品の判定処理(【カートに入れる】→【品切れ】 ECCUBEの在庫はカートに入れた時点では確保されず、注文が完了した時点で在庫が減算されます。
その為、検証されている状況ではデータベース上の在庫は1個のままで 表示を切り替える事はできません。 (カートに商品を入れている状況でも別ユーザーがカートへ商品を投入し、購入を完了させる事が出来ます。 その場合、先にカートに入れていた人は在庫切れとなり商品は購入できません) 在庫不足のエラーが表示されているのは以下のようなメッセージではないでしょうか? "「商品名」の在庫が不足しております。一度に在庫数を超える購入はできません。" これは1人のユーザーが在庫以上の商品をカートに入れられないようにしている為です。 カートに入った時点で在庫を確保したいような場合はカスタマイズが必要となります。 またカートに入れた時点で在庫が減っていきますので カートへ商品を入れる→そのままブラウザを閉じる といった操作を繰り返す事で注文を完了しなくても在庫切れになってしまう事になりますので 一定時間が経過したらカートから在庫数を戻すというような処理や 嫌がらせへの対策も検討する必要があり、大掛かりなカスタマイズが必要となります。
|
limtae |
投稿日時: 2020/12/22 20:18
対応状況: −−−
|
新米 登録日: 2020/12/22 居住地: 投稿: 2 |
在庫切れ商品の判定処理(【カートに入れる】→【品切れ】 ▼テンプレート
[EC-CUBE] EC-CUBE4.0.5、新規インストール [レンタルサーバ] エックスサーバー [OS] Linux [PHP] 7.2.4 [データベース] mysql [WEBサーバ] apache [ブラウザ] chrome [導入プラグインの有無] - [カスタマイズの有無] - [現象] 現在、eccubeインストール時のデフォルトテンプレートの機能をベースに、別のテンプレートを作成しようとしているところなのですが、商品ページが品切れ状態となってもボタン表示が切り替わりません。カートに追加ボタンを押下しても、在庫不足とのエラーが出るため、カートに追加はできないのですが、予め商品が品切れであることを明示したいと考えています。 (※デフォルトテンプレートで検証しています。) 検証方法としてはデフォルトの商品の在庫数を1に設定し、カートに商品を1つ追加、品切れ状態とした上で同商品のページにアクセスしています。 ソースの該当部分は以下となりますが、stock_findについては在庫あり、なしいずれの場合もtrueが返ってきてしまいます。 \src\Eccube\Resource\template\default\Product\detail.twig {% if Product.stock_find %} ~中略~ <div class="ec-productRole__btn"> <button type="submit" class="ec-blockBtn--action add-cart"> {{ 'カートに入れる'|trans }} </button> </div> {% else %} <div class="ec-productRole__btn"> <button type="button" class="ec-blockBtn--action" disabled="disabled"> {{ 'ただいま品切れ中です。'|trans }} </button> </div> {% endif %} この点についてお詳しいの方がいらっしゃいましたらご教示願えればと存じます。 何卒宜しくお願い致します。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |