プラグイン > 開発について > form 内の choices をプラグイン側で変更したい |
開発について
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
hata |
投稿日時: 2017/6/13 10:56
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: form 内の choices をプラグイン側で変更したい 追加したロジックの直後とフックポイントの直後で$builder->getForm()するとchoicesの値は変わっていないで
しょうか? ほかのプラグインや後続の処理でリセットされるのでしょうか? eventのパラメータみたいにどこかにsetし直してどうにかなる問題ならよいですが、もし書き換えられないよう でしたら、FormEvents::POST_SET_DATAで入れ替えるのが無難かもしれません。 それからほかの関数でも return $app->render('Shopping/index.twig ... が複数箇所あるのでそれらの全部に 対処が必要みたいですね。念のためこちらもお忘れなく。 |
h_tanaka |
投稿日時: 2017/6/13 10:38
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: form 内の choices をプラグイン側で変更したい EC-CUBE本体で定義している箇所を直接変更してみましたが変わりませんでした。
表示しているフォームはこれじゃない?? src/Eccube/Form/Type/ShippingItemType.php
src/Eccube/Resource/template/default/Shopping/index.twig
|
h_tanaka |
投稿日時: 2017/6/13 10:31
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: form 内の choices をプラグイン側で変更したい エラーは出なくなりましたが、選択肢は変更前と変わらずです。
ちなみに処理が通っていることは確認しています。 うむむ。。
|
hata |
投稿日時: 2017/6/13 10:23
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: form 内の choices をプラグイン側で変更したい あ。ここを
$Shippings = $form->get('shippings')->getData(); こうしてみてください。 $Shippings = $form->get('shippings'); |
h_tanaka |
投稿日時: 2017/6/13 10:14
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: form 内の choices をプラグイン側で変更したい hataさん
ありがとうございます。 でも怒られちゃいました。 UndefinedMethodException in Event.php line 637: Attempted to call an undefined method named "remove" of class "Eccube\Entity\Shipping". Did you mean to call "removeShipmentItem"?
|
hata |
投稿日時: 2017/6/12 19:16
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: form 内の choices をプラグイン側で変更したい こうかな?
|
h_tanaka |
投稿日時: 2017/6/12 17:02
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
form 内の choices をプラグイン側で変更したい EC-CUBE 3.0.14
formで定義されている choice タイプの選択肢 choices をプラグイン側で変更するにはどうすればよいでしょうか? 具体的には、フロント画面の注文内容確認ページにて表示される配送方法を条件によって変更したいと思っています。 src/Eccube/Form/Type/ShippingItemType.php(抜粋)
src/Eccube/Controller/ShoppingController.php 134行目の EccubeEvents::FRONT_SHOPPING_INDEX_INITIALIZE にてプラグインを呼び出します。 app/Plugin/Test/event.yml
app/Plugin/Test/Event.php
|
« 1 (2) |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |