バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧の検索処理の変更について

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
468
投稿日時: 2021/6/30 11:43
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 商品一覧の検索処理の変更について
ProductRepository.php->getQueryBuilderBySearchData()の内容ですが
カテゴリに関連する商品を取得するロジックは以下のように記述されており
元々in句に対応しているかと思います。

// category
$categoryJoin = false;
if (!empty($searchData['category_id']) && $searchData['category_id']) {
    $Categories = $searchData['category_id']->getSelfAndDescendants();
    if ($Categories) {
        $qb
        ->innerJoin('p.ProductCategories', 'pct')
        ->innerJoin('pct.Category', 'c')
        ->andWhere($qb->expr()->in('pct.Category', ':Categories'))
        ->setParameter('Categories', $Categories);
        $categoryJoin = true;
    }
}


以下の一文で指定されたカテゴリの子カテゴリも含めた配列を作っているようです。
$Categories = $searchData['category_id']->getSelfAndDescendants();

ここで複数のカテゴリを処理して
$Categoriesの内容を追加すれば
クエリビルダ(SQLの組み立て)までは変更しなくても良いのではないかと思います。


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

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


題名 投稿者 日時
   商品一覧の検索処理の変更について BlackBox 2021/6/28 15:53
   » Re: 商品一覧の検索処理の変更について 468 2021/6/30 11:43
       Re: 商品一覧の検索処理の変更について BlackBox 2021/7/2 17:23
         Re: 商品一覧の検索処理の変更について 468 2021/7/7 11:04

 



ログイン


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

統計情報

総メンバー数は88,959名です
総投稿数は110,019件です

投稿数ランキング

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