> プラグイン > ShippingItemType.phpの処理を変更するプラグインが作成したいのですが、お教え頂けないでしょうか? |
プラグイン
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
468 |
投稿日時: 2016/12/10 15:29
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: ShippingItemType.phpの処理を変更するプラグインが作成したいのですが、お教え頂けないでしょうか? こんにちは。
ECCUBEのプラグインの仕様では、 デフォルトで存在するTypeクラスの一部のみを差し替えるという事は出来ないのではないかと思います。 今回の例では、ShippingItemType.phpをオーバーライドした新しいTypeクラスをプラグイン内に作り、 個別フックポイントで$builderの中身を差し替えるといった処理をする必要があるように思われます。 実現されたい事は購入画面にて選択できる配送業者の選択肢を条件によって切り替えたいという事かと予想しておりますが、 その場合は、/src/Eccube/Controller/ShoppingController.phpの中で、以下の記述をされているところが7つ見つかると思います。
ちょうどその記述の直後に 画面初期表示時の個別フックポイントがあります。 例)購入画面の場合、128行付近
ここでプラグイン側に$builderを渡していますので、 プラグイン側の処理で$builderを自分の用意したTypeクラスを利用した結果で上書きすれば良いのではないかと思います。 $builderの中身の作り方は/src/Eccube/Service/ShoppingService.phpのgetShippingFormBuilder()の中身を参照すればいいかと思います。 幸い、プラグイン側に$Orderも一緒に渡されているようですので、 同じように記述できると思います。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
![]() |
MPV | 2016/12/9 12:26 |
![]() |
MPV | 2016/12/9 23:32 |
» ![]() |
468 | 2016/12/10 15:29 |
![]() |
MPV | 2016/12/11 14:45 |
![]() |
468 | 2016/12/12 21:45 |
![](images/pixel.gif)