プラグイン > 開発について > 拡張フォームの項目が遷移後に取得できない |
開発について
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2017/6/6 12:23
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
拡張フォームの項目が遷移後に取得できない EC-CUBE 3.0.14
管理画面の商品マスター検索フォームに拡張項目を追加したのですが、検索ボタンクリック後に値を取得できません。 src/Eccube/Controller/Admin/Product/ProductController.php において、 $searchData = $searchForm->getData(); var_dump($searchData); とすると、 $searchData 内に拡張項目 plg_test_id のキーも値も存在していません。 【出力結果】 array (size=7) 'id' => null 'category_id' => null 'status' => object(Doctrine\Common\Collections\ArrayCollection)[2935] private 'elements' => array (size=0) empty 'create_date_start' => null 'create_date_end' => null 'update_date_start' => null 'update_date_end' => null ただ、 $searchData = $searchForm->get('plg_test_id')->getData(); var_dump($searchData); とすると、拡張項目の選択された値を取得することができます。 【出力結果】 int 4 $searchData = $searchForm->getData(); にて、拡張項目を含めたすべてのフォームを取得するにはどうすればよいでしょうか? 以下、拡張項目の設定ソースです。 app/Plugin/Test/Form/Extension/SearchProductTypeExtension.php
|
nyorai |
投稿日時: 2017/6/6 13:07
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 拡張フォームの項目が遷移後に取得できない $searchForm->getData(); では取得できるのは、mapped => true の項目だけです。
$searchForm['plg...']->getData() のようにキー名を指定してgetData()しないと値は取得できません。 SearchProductTypeの場合は、エンティティにマッピングするわけではないので、mapped => trueにすればよいですよ。 |
h_tanaka |
投稿日時: 2017/6/6 13:42
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: 拡張フォームの項目が遷移後に取得できない nyoraiさん
見事、解決しました! こちらで mapped が何かを質問させてもらっていましたが、理解できていなかったようです。。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19091&forum=17&post_id=82419#forumpost82419 とりあえず、エンティティに定義があれば mapped => false 、なければ mapped => true を指定するというものだと思っておきます。
|
nyorai |
投稿日時: 2017/6/6 16:14
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 拡張フォームの項目が遷移後に取得できない うまくいったようでよかったですー
FormTypeは入力値をよしなに変換してくれる便利なクラスですが、オプションもそれなりに多いので少しずつ把握していければいいのかなと思います。 |
h_tanaka |
投稿日時: 2017/6/6 16:17
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1610 |
Re: 拡張フォームの項目が遷移後に取得できない そうですね、Symfonyも使いこなせれば便利なのでしょうが、学ばないといけないことが多くて敷居が高いです。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |