バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > アイテム検索条件、フォームの追加方法

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hana0102
投稿日時: 2018/4/27 15:53
対応状況: −−−
半人前
登録日: 2018/4/27
居住地:
投稿: 21
アイテム検索条件、フォームの追加方法
EC-CUBE3です。

アイテムの検索条件を増やしたいです。
現在はキーワード検索のみですが、
ドロップダウンでカテゴリー検索、
1000円~8000円
みたいな検索フォームを追加したいです。

プラグインを探してみたのですが、2系のものしかなく...。
EC-CUBEは過去に触ったことがなかったので困っています。

お分かりになる方がいらっしゃたら、ぜひご教示ください。
よろしくお願いします。
468
投稿日時: 2018/4/27 16:31
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: アイテム検索条件、フォームの追加方法
デフォルトでカテゴリのドロップダウンは商品検索ブロックに実装されているのですが、削除または未使用でしょうか?

商品検索ブロックを利用されている状況で検索条件を追加する場合、
以下のファイルに手を加える形になるかと思います。

/src/Eccube/Form/Type/SearchProductBlockType.php
/src/Eccube/Repository/ProductRepository.php
/src/Eccube/Resource/template/default/Blocksearch_product.twig ※テンプレートパッケージを利用されている場合は、/app/template/以下のテンプレートファイル

キーワードを利用して、データを取り出している処理が上記のファイルにそれぞれ記述されていると思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

hana0102
投稿日時: 2018/5/7 15:00
対応状況: −−−
半人前
登録日: 2018/4/27
居住地:
投稿: 21
Re: アイテム検索条件、フォームの追加方法
ご回答ありがとうございます。

検索条件の追加ではなく、フォーム自体を追加したいです。
添付画像のようなイメージです。

468
投稿日時: 2018/5/8 17:16
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: アイテム検索条件、フォームの追加方法
symfony2の仕様で、1つのフォームと検索処理を追加する場合、複数のファイルを準備する必要があり、
ある程度、symfony2またはMVCフレームワークの知識が必要となりますが、ご経験などはございますか?

フォーム自体を追加したい場合は、新しくFormTypeクラスとそれを表示する記述をテンプレートファイルに追記すれば良いかと思います。

/src/Eccube/Form/Type/SearchProductBlockType.php
/src/Eccube/Resource/template/default/Blocksearch_product.twig
をコピーして新しいファイルを追加する形になるかと思います。
また新しく追加したFormTypeクラスをtwigに渡す処理を、
そのページの表示を処理するControllerクラスのアクションに記述する必要があります。

次に検索ボタンを押した後の処理を記述するところも必要となりますが、
/src/Eccube/Controller/ProductController.phpに新しいアクションを追記する形になるかと思います。
(同Controllerのindexアクションをコピーして変更する形が手っ取り早いかと思います。)
またアクションを追加した場合、routingを追加する必要がありますので、
/src/Eccube/ControllerProvider/FrontControllerProvider.php
にroutingを追記します。

価格帯による検索処理は、
/src/Eccube/Repository/ProductRepository.phpのgetQueryBuilderBySearchData()メソッドに追記する形になるかと思います。
(コピーして新しいメソッドを追加しても問題無いと思います)

一つの塊として、デフォルトの商品検索ブロックの仕組みを読み解いていただくのが
仕組みを理解しやすいのではないかと思います。
ただ、ブロックを追加する場合、データベース内のdtb_blockテーブルのlogic_flg=1にセットする必要があります。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
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.