プラグイン > 開発について > form 内の choices をプラグイン側で変更したい |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2017/6/13 12:35
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: form 内の choices をプラグイン側で変更したい 検証までしていただいてありがとうございます!
ご提示のコードでこちらでも動作確認できました。 あとはFormEvents::POST_SET_DATAの実装ですが、またもエラーが解決できないです。。 拡張するFormがShippingItemTypeでいいのかどうかも自信ないです。 OutOfBoundsException in Form.php line 965: Child "shippings" does not exist. app/Plugin/Test/Form/Extension/ShippingItemTypeExtension.php
|
hata |
投稿日時: 2017/6/13 12:55
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: form 内の choices をプラグイン側で変更したい あとから一部書き換えるようにするだけなのでフック箇所はそのままで下記ではダメですか?
ええとsrc/Eccube/Form/Type/ShippingItemType.phpのbuildForm()で$form->addしてる$formは、 $form = $event->getForm();で取得したやつなので、さっきまでのロジックだとShippingのフォームを 取り出してましたが、それは要らなくなってformをそのまま使えるのでは? $form->remove('delivery')->add('delivery', ... でどうですか? |
h_tanaka |
投稿日時: 2017/6/13 14:27
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: form 内の choices をプラグイン側で変更したい なるほど!
私寝ぼけてました(^ω^) 選択肢を書き換えできるとこまでいったのですが、いざformのタイプをchoiceからentityにしようとしたらエラーになりました。 choicesをnullにするとエラーが出なくなることからchoicesに指定する型がおかしいのだとは思うのですが。。 ContextErrorException in UnitOfWork.php line 1189: Warning: spl_object_hash() expects parameter 1 to be object, string given app/Plugin/Test/Form/Extension/ShoppingTypeExtension.php
|
hata |
投稿日時: 2017/6/13 14:43
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: form 内の choices をプラグイン側で変更したい さっき検証したときchoice_listはそのまま使えないというのがわかって(配送業者のIDしか入ってない)、
自前で配列を定義して渡していました。 まずは実在するものを1個いれて動作確認してみてください。 $update_choice_list = array('2' => 'サンプル宅配'); エンティティだとちょっとよくわからないです$choicesの方かな? |
h_tanaka |
投稿日時: 2017/6/13 14:53
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: form 内の choices をプラグイン側で変更したい $choice_list がそのまま使えないということでしたので、 $choice を試してみたらそのままでいけました!
$choice は Delivery エンティティを配列化したものでした。 なので、最終的に次のコードでうまくいきました。 hataさん、 最後まで質問にご回答いただきありがとうございました!! app/Plugin/Test/Form/Extension/ShoppingTypeExtension.php
|
hata |
投稿日時: 2017/6/13 15:17
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: form 内の choices をプラグイン側で変更したい お疲れさまでした。
注文画面への介入は色々と不具合が起きやすいので、販売用でしたら考慮漏れがないように 以下の組み合わせの評価をしておいた方が無難です。 ・配送業者毎に支払方法が異なるケース ・お届け先・支払方法などの変更時の正常系/異常系 ・注文時の異常系 ・クレジット決済画面からの戻り ・ポイントプラグインとの組み合わせ ・クーポンプラグインとの組み合わせ 配送業者を変えたときに、支払方法の既定値が使えなくなるようなケースがあると、画面には不正なデータの エラーが出そうです。 それから、前に何かで配送業者名と送料が不一致になる現象があって、以下を直したことがありました。
異常系だったような... |
h_tanaka |
投稿日時: 2017/6/13 15:28
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1638 |
Re: form 内の choices をプラグイン側で変更したい さらにアドバイスまでいただいて、泣きそうになるほど嬉しいです!
複数配送対応は必須と思いますが、これがなかなか難しそうな気はしています。。 送料の計算もいろいろ試してみないといけないですね。 またつまずくようなことがあれば、別スレッドで質問しようと思います!
|
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |