バージョン選択

フォーラム

メニュー

オンライン状況

70 人のユーザが現在オンラインです。 (60 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 70
もっと...

サイト内検索

プラグイン > 開発について > 拡張フォームの項目が遷移後に取得できない

開発について

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
h_tanaka
投稿日時: 2017/6/6 12:23
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
拡張フォームの項目が遷移後に取得できない
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
class SearchProductTypeExtension extends AbstractTypeExtension
{
    public $app;

    public function __construct($app)
    {
        $this->app = $app;
    }

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $app = $this->app;
        if (!$app->isGranted('ROLE_ADMIN')) {
            return;
        }

        // フォームを追加するためにイベントリスナーを追加
       $builder->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) use ($app) {

            ...

            // 選択肢追加
            $form = $event->getForm();
            $form->add('plg_test_id', 'choice', array(
                'label' => 'テスト',
                'mapped' => false,
                'required' => false,
                'choices' => $choices,
                'empty_value' => '選択してください',
            ));
       });
    }

    public function getExtendedType()
    {
        return 'admin_search_product';
    }
}


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 拡張フォームの項目が遷移後に取得できない h_tanaka 2017/6/6 12:23
     Re: 拡張フォームの項目が遷移後に取得できない nyorai 2017/6/6 13:07
       Re: 拡張フォームの項目が遷移後に取得できない h_tanaka 2017/6/6 13:42
         Re: 拡張フォームの項目が遷移後に取得できない nyorai 2017/6/6 16:14
           Re: 拡張フォームの項目が遷移後に取得できない h_tanaka 2017/6/6 16:17

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,867名です
総投稿数は109,999件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.