バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品検索対象に「規格」を追加したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tsubasa
投稿日時: 2017/5/25 5:05
対応状況: 確認中
新米
登録日: 2017/5/25
居住地:
投稿: 1
商品検索対象に「規格」を追加したい
[EC-CUBE] 3.0.14

商品検索ブロックからキーワードを入力して検索する際、
検索の対象となるのは「商品名」と「検索ワード」のみなので、
新しく「規格」も検索対象にしようと試みましたが手詰まりです。

src/Eccube/Repository/ProductRepository.php内の
getQueryBuilderBySearchDataで検索条件を追加することは予想できています。
どうか、助けて下さい。


【getQueryBuilderBySearchData内】
if (isset($searchData['name']) && Str::isNotBlank($searchData['name'])) {
$keywords = preg_split('/[\s ]+/u', $searchData['name'], -1, PREG_SPLIT_NO_EMPTY);
foreach ($keywords as $index => $keyword) {
$key = sprintf('keyword%s', $index);
$qb
->andWhere(sprintf ('p.name LIKE :%s OR p.search_word LIKE :%s', $key, $key))
->setParameter($key, '%' . $keyword . '%');
}
}


hata
投稿日時: 2017/5/25 14:10
対応状況: −−−
長老
登録日: 2015/8/3
居住地: 宮城県(2017/09末引退)
投稿: 156
Re: 商品検索対象に「規格」を追加したい
tsubasaさん

dtb_class_categoryのnameでいいですか?
#dtb_class_nameのnameではないですよね?

まずは前提としてdtb_product_classが無いとdtb_class_categoryと紐付けられないので、
$qb->innerJoin('p.ProductClasses', 'pc');が必要です。

ただ、価格順に並べ替えるケースで上記のinnerJoinが行われているので二重にやらないように
配慮が必要です。

そこで、returnする直前に今回のカスタマイズを実装するなら、以下のようにinnerJoin
されていない場合にだけやる方法と、

https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=19052&forum=17&post_id=82219

常にJoinしても良いなら、価格順のところのinnerJoinを削り、もっと上のレギュラーパスへ処理を
追加する方法があると思います。
お好みに合わせてどうぞ。


次にdtb_class_categoryですが、規格1と規格2がありますので以下を上記innerJoinの後に
追加してください。

$qb->leftJoin('pc.ClassCategory1', 'cc1');
$qb->leftJoin('pc.ClassCategory2', 'cc2');

あとはforeachのandWhereにcc1.nameとcc2.nameの分を追加してやればできると思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.