バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カテゴリにて、商品があるカテゴリのみ表示させたい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
tomaton20
投稿日時: 2023/9/30 15:24
対応状況: −−−
新米
登録日: 2023/9/8
居住地:
投稿: 4
カテゴリにて、商品があるカテゴリのみ表示させたい
▼テンプレート
[EC-CUBE] 4
[レンタルサーバ] なし
[OS] aluma linux
[PHP] 8.2
[データベース] maria db 10
[WEBサーバ] apache 2
[ブラウザ] chrome

現在、カテゴリは登録したものが全て表示される仕組みですが、
これを大、中、小、カテゴリ全てにおいて、商品がある場合のみ、
そのカテゴリを表示させたいと考えています。

デフォルトのCategoryRepository.phpでの、
getListメソッドでカテゴリを出力させているようですが、
こちらをどのようにすれば商品のみに絞り込むことが可能になりますか?

プレーンなsqlであれば、dtb_product_categoryテーブルをeq句にて、
サブクエリを発行すればよいかと思います。

現状のgetListメソッドでは、

$qb = $this->createQueryBuilder('c1')
->select('c1, c2, c3, c4, c5')
->leftJoin('c1.Children', 'c2')
->leftJoin('c2.Children', 'c3')
->leftJoin('c3.Children', 'c4')
->leftJoin('c4.Children', 'c5')
->orderBy('c1.sort_no', 'DESC')
->addOrderBy('c2.sort_no', 'DESC')
->addOrderBy('c3.sort_no', 'DESC')
->addOrderBy('c4.sort_no', 'DESC')
->addOrderBy('c5.sort_no', 'DESC');

という形にて、カテゴリ用のリストを生成しておりますが、
ここにandWhereを新たに追加し、

$qb2 = $this->getRepository('Eccube\Entity\ProductCategory')->createQueryBuilder('pc')->select('pc.category_id');

$qb->andWhere($qb->expr()->eq('c1.id', $qb2->getDql()));

というような条件を追加したいと考えております。
ちなみにこのパターンだとエラーとなります。

ECCUBE自体がど素人なため、どなたかご教授いただければ幸いです。
よろしくお願い致します。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » カテゴリにて、商品があるカテゴリのみ表示させたい tomaton20 2023/9/30 15:24
     Re: カテゴリにて、商品があるカテゴリのみ表示させたい mcontact 2023/10/1 14:04
     Re: カテゴリにて、商品があるカテゴリのみ表示させたい tomaton20 2023/10/1 17:52

 



ログイン


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

統計情報

総メンバー数は90,432名です
総投稿数は110,399件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1694
8
red
1571
9
mcontact
1371
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.