バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り)

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
mipon
投稿日時: 2017/9/11 22:26
対応状況: −−−
新米
登録日: 2017/9/9
居住地:
投稿: 9
フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り)
フロントページの、商品検索条件に追加したカスタム検索条件も一緒に維持したい(HIDDENフォームで配列受け取り)

【ECCUBE3.0.14】
※ECCUBE自体もプラグインもSymfonyも、当方初めての使用です。


フロントページで商品検索する際に、
①デフォルトの「カテゴリ」「テキスト」に加えて、
カスタマイズした項目「term_a」「term_b」でも絞込検索できるようにしました。

②次の「検索条件を維持」のステップではまっています。
(例えば表示件数や並び順を変更するなどして、再度検索ボタンを押した際、条件がデフォルトに戻らないように維持したい)

検索条件を維持するHIDDENフォームで、
セレクトボックス(他、ラジオボタン・テキスト)は成功するのですが、
解決できないのは、チェックボックスのmultiple複数条件の場合で、検索で送られた配列データをHIDDENフォームで受け取れません。




【具体例】
①デフォルトの「カテゴリ」「テキスト」に加えて、カスタマイズ検索条件「term_a」「term_b」でも、商品を絞込検索
 <Typeの追加部分>
   src\Eccube\Form\Type\SearchProductBlockType.php
   に下記を追加
   (実際にはプラグイン側でフックポイントでイベントにて下記を追加)
 
   // セレクトボックス
   $builder->add('plg_term_a', 'entity', array(
     'class' => 'Plugin\プラグイン名\Entity\Term',
     'property' => 'NameWithLevel',
     'label' => 'テーマA',
     'required' => false,
     'placeholder' => '選択なし',
     'multiple' => false,
     'expanded' => false,
     'mapped' => true,
     'choices' => $TermListA,
   ));
 
   // チェックボックス
   $builder->add('plg_term_b', 'entity', array(
     'class' => 'Plugin\ProductTagPlusSearch\Entity\Tagplus',
     'property' => 'NameWithLevel',
     'label' => 'テーマB',
     'required' => false,
     'placeholder' => '選択なし',
     'multiple' => true,
     'expanded' => true,
     'mapped' => true,
     'choices' => $TermListB,
   ));
 
 ~~~ここまでは成功~~~

②検索条件を維持
 カスタマイズ検索条件「term_a」「term_b」の選択状態を維持したく、
 <Typeの追加部分>
   \src\Eccube\Form\Type\SearchProductType.php
   に下記を追加
   (実際にはプラグイン側で、「FRONT_PRODUCT_INDEX_SEARCH」フックポイントでイベントにて追加)
 
   // セレクトボックス
   $builder->add('plg_term_a', 'entity', array(
     'class' => 'Plugin\プラグイン名\Entity\Term',
     'property' => 'NameWithLevel',
     'label' => 'テーマA',
     'required' => false,
     'placeholder' => '選択なし',
     'empty_value' => null,
     'empty_data' => null,
     'multiple' => false,
     'expanded' => false,
     'mapped' => true,
     'choices' => $TermListA,
   ));
 
   // チェックボックス
   $builder->add('plg_term_b', 'entity', array(
     'class' => 'Plugin\ProductTagPlusSearch\Entity\Tagplus',
     'property' => 'NameWithLevel',
     'label' => 'テーマB',
     'required' => false,
     'placeholder' => '選択なし',
     'empty_value' => null,
     'empty_data' => null,
     'multiple' => true,
     'expanded' => true,
     'mapped' => true,
     'choices' => $TermListB,
   ));



 ~~~ ここで検索時に問題発生(エラーは出ない)~~~
<<チェックボックスの場合、value値を受け取れない>>

  HIDDENフォーム
  <form name="form1" id="form1" method="get" action="?">
    ~省略~
    <input type="hidden" value="32" id="plg_term_a" name="plg_term_a"> ← セレクトボックスは成功!
    <input type="hidden" value="Doctrine\Common\Collections\ArrayCollection@000000007df5db3b000000001cdd9719"; id="plg_term_b" name="plg_term_b">
     ↑ チェックボックス受け取れない! name="plg_term_b"も配列仕様にならない...
  </form>

 このように、
 セレクトボックスの場合は値を受け取れているのですが、
 チェックボックスで配列の場合は受け取れません。

 検索時のURLのGETパラメータは以下のような感じです。
  /products/list?plg_term_a=2&plg_term_b[]=5&plg_term_b[]=6&mode=&name=&category_id=7&pageno=1&disp_number=30&orderby=

 
 HIDDENフォームで配列を受け取る方法を調べたのですが、なかなかHITせず。。。
 数日悩んでおります。
 どうぞよろしくお願いします<(_ _)>
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り) mipon 2017/9/11 22:26
     Re: フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り) 468 2017/9/12 15:08
       Re: フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り) mipon 2017/9/12 16:10
     Re: フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り) mipon 2017/9/14 11:41
       Re: フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り) mipon 2017/9/14 11:43
       Re: フロントページの商品検索条件に追加したカスタム検索条件も維持したい(HIDDENフォームで配列受け取り) 468 2017/9/14 17:50

 



ログイン


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

統計情報

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

投稿数ランキング

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
1291
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.