プラグイン > 開発について > 受注登録の商品追加で拡張した検索条件をイベントで拾えない |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2017/6/14 18:11
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
受注登録の商品追加で拡張した検索条件をイベントで拾えない EC-CUBE3.0.14
管理画面の受注登録ページにおいて、「商品の追加」モーダルに検索フォームを追加しようとしているのですが、検索機能がうまく実装できません。 まず、検索フォームの拡張により、検索項目を追加で表示することはできました。 app/Plugin/Test/Form/Extension/Admin/SearchProductTypeExtension.php
しかし、「検索」ボタンをクリックしたときのイベントにて、設定した項目 plg_test_id が取得できません。 app/Plugin/Test/event.yml
app/Plugin/Test/Event.php
src/Eccube/Controller/Admin/Order/EditController.php の EccubeEvents::ADMIN_ORDER_EDIT_SEARCH_PRODUCT_SEARCH イベント前の処理を見る限り、$searchData は作成し直されているため項目 plg_test_id が設定されていないのはわかったのですが、なぜか $request にも設定されていないようです。 拡張フォームにて設定した項目 plg_test_id をイベント側で取得するにはどうすればよいでしょうか?
|
468 |
投稿日時: 2017/6/14 21:37
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 受注登録の商品追加で拡張した検索条件をイベントで拾えない /src/Eccube/Resource/template/admin/Order/edit.twig 105行目に
商品検索のajax通信の処理が記述されており、 そこでサーバへ渡すパラメータを以下のように固定的に記述しているようです。
twigのテンプレートフックポイントで javascriptを書き換えれば対応できるかと思います。
|
hata |
投稿日時: 2017/6/14 21:38
対応状況: −−−
|
長老 登録日: 2015/8/3 居住地: 宮城県(2017/09末引退) 投稿: 156 |
Re: 受注登録の商品追加で拡張した検索条件をイベントで拾えない src/Eccube/Resource/template/admin/Order/edit.twig を見ると検索処理はajaxでやられているようでした。
なのでajaxから送るデータにもplg_test_idを追加してやらないといけないですね。 具体的には下記のコードが必要になるので、
試しに src/Eccube/Resource/template/admin/Order/edit.twig に上記★を追加して裏をとってから replaceの処理を実装してみてください。 |
h_tanaka |
投稿日時: 2017/6/15 9:22
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: 受注登録の商品追加で拡張した検索条件をイベントで拾えない 468さん
hataさん ありがとうございます! ajaxだからtwig内のjsからリクエストされているのすっかり失念していました。 呼び元考えれば難しいことでもないのに、気づかないっていうのは怖いですね。。 次の実装で解決しました。 event.yml
Event.php
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |