質問 > フロント機能 > 合計金額によって利用可能な配送方法を制限したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tacky14 |
投稿日時: 2022/9/14 18:45
対応状況: −−−
|
半人前 ![]() ![]() 登録日: 2021/4/23 居住地: 投稿: 16 |
合計金額によって利用可能な配送方法を制限したい [EC-CUBE] 4.0.6-p1
[サーバ] AWS [OS] Linux [PHP] 7.4.21 [データベース] MySQL 5.5.68-MariaDB [WEBサーバ] Apache/2.4.48 [カスタマイズの有無] 有 注文時、商品の合計金額(Order.subtotal)が10000円以上の場合のみ利用可能な配送方法を追加したいです。 配送方法マスタで「宅配便A」「宅配便B」の2種類を設定、どちらも支払い方法と都道府県別送料は同じです。 ------------------------------------------------------- 「宅配便A」は条件なしで利用可能。デフォルトの配送方法。 「宅配便B」は商品合計(送料、値引きを含まない)10,000円以上の場合のみ利用可能。 10,000円未満では ・「宅配便B」が選択不可か選択肢に表示されない ・「宅配便B」を選んでもバリデーションで弾かれる 一度「宅配便B」を選択してから商品を減らし条件適用外となった場合は、自動で適用可能な配送方法をセットし直す(今回の場合は「宅配便A」) ------------------------------------------------------- としたいです。 [試したこと] 金額条件で「宅配便B」を弾くことは、FormTypeに追記して行うことができました。 ただ、それだけでは条件適用外で自動でセットし直す要件を満たせませんでした。 FormTypeの実装は以下のように行いました。 Form\Type\Shopping\ShippingTypeで「宅配便B」&&10,000円未満 を条件にaddErrorを付与。
[実現したいこと] 配送方法が条件適用外となった場合は、自動で適用可能な配送方法をセットし直したい。 イメージとしては、 配送方法を変更した際に、変更先の配送方法が使用できない支払方法を選択していた場合、自動的に変更先で使用できる支払方法が選択される仕様になっていると思います。 これを、配送方法自体でも行いたいと考えています。 purchaseflowの仕組みの中で制限が行えればスマートかな、と思うのですが。。 理解が足りておらず、拙いご説明で恐縮ですが、何卒よろしくお願いいたします。 |
sfujiya |
投稿日時: 2022/10/18 7:23
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2018/12/20 居住地: 投稿: 54 |
Re: 合計金額によって利用可能な配送方法を制限したい app/Customize/Service/PurchaseFlow/Processor
配下に配送方法確認のvalidatorを作成し、条件に一致しない場合は、配送方法のIDをhandleでsetすればいいかと思います。 |
balisys |
投稿日時: 2022/12/27 18:41
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2020/7/5 居住地: 投稿: 502 |
Re: 合計金額によって利用可能な配送方法を制限したい jsにて、合計金額を取得し、その金額に応じて支払方法のチェックを非表示にするなどの対応が分かりやすいかと思います。
https://web-camp.io/magazine/archives/102889#:~:text=if%E6%96%87%E3%81%A7%E3%81%AF%E3%80%81test%E5%A4%89%E6%95%B0,%E9%9D%9E%E8%A1%A8%E7%A4%BA%E8%A8%AD%E5%AE%9A%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |