質問 > フロント機能 > 会員種別ごとに利用できる決済を切り替える |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
shiftbank |
投稿日時: 2020/9/25 11:51
対応状況: −−−
|
新米 登録日: 2018/6/29 居住地: 投稿: 10 |
会員種別ごとに利用できる決済を切り替える [EC-CUBE] 4.0.4 新規インストール
[OS] linux [PHP] 7.3 [データベース] MySQL [WEBサーバ] Apache [導入プラグインの有無] なし [カスタマイズの有無] 会員情報に会員種別カラムを追加(整数型) [前置き] EC-CUBE3までの開発経験もなく、ECの構築自体が初です。 そもそもの設計が間違っていたらご指摘いただけるとありがたいです。 [実装したいこと] レジ画面(/shopping)にて表示されるプルダウン "配送方法" の選択肢を独自のルールで操作したい。 独自のルールとは会員の種別によって切り分けることなので、まずは Customize\Entity\CustomerTraitを作成し、アノテーションを利用してuser_typeを作成しました。 種別としては "一般", "売掛" としています。
このカラムを利用して、"一般"ユーザーと"売掛"ユーザーで別々の決済方法を選ばせたいと思っております。 決済方法は配送方法に紐づいているようなので、 配送方法①に"クレジットカード", "銀行振込" 配送方法②に"請求書払い"...等と設定しておき、 一般ユーザーは請求書払いさせたくないので、配送方法を①のみに限定、 売掛ユーザーは請求書払いで統一したいので、配送方法を②のみに限定すれば、結果的にユーザーごとに利用できる支払い方法を限定できるのではと考えております。 要するに、レジ画面で吐き出される配送方法のプルダウンに、ユーザーデータに応じてフィルターをかけたいということになります。 [わからないこと] 上記のカスタム処理をどこに書けばいいのかがわかりません。 src/Eccube/Form/Type/Shopping/OrderType.php にて次の記述を見つけました。
これを参考に、ArrayCollection::filterPaymentsと、ログイン中のユーザー情報を利用すれば、配送方法の切り分けができるのではと思いました。 先述のsrc/Eccube/Form/Type/Shopping/OrderType.phpや src/Eccube/Controller/ShoppingController.php で行われている処理を一部変更できればと思ったのですが、どちらもsrc内にあるため、このソースを変更せずに新たなArrayCollection::filterPaymentを処理中に追加することができません。 src外からこの辺りの処理に介入する方法はありますでしょうか? |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» 会員種別ごとに利用できる決済を切り替える | shiftbank | 2020/9/25 11:51 |
Re: 会員種別ごとに利用できる決済を切り替える | umebius | 2020/9/25 23:15 |
Re: 会員種別ごとに利用できる決済を切り替える | shiftbank | 2020/10/1 17:05 |