バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

その他 > その他 > 【質問】新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
468
投稿日時: 2017/9/12 14:31
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。
弊社で商品一覧ブロックを追加するプラグインを開発中だったりするので、ちょっと答えづらい部分もあるのですが、
(こういったパターンでの利用を想定していましたので・・・)
コントローラー側の以下の箇所に、カテゴリによる絞込みを追加する必要があると思います。
$Products = $app['eccube.repository.product']
->createQueryBuilder('p')
->orderBy('p.create_date', 'DESC')
->setMaxResults(5)
->getQuery()
->getResult();


カテゴリの絞込みは、通常の商品一覧でも処理されており、

/src/Eccube/Repository/ProductRepository.php function getQueryBuilderBySearchData()の中身が参考になるのではないかと思います。
        // 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;
            }
        }


ちょっとややこしいのが、
Categoryエンティティを条件として利用している事と
商品とカテゴリの関係が格納されているのがProductCategoryだと思います。

流れとしては、
1.リクエストからcategory_idを取得して、
$categoryId = $request->query->get('category_id');
↑多分これで取得できると思いますが・・・。

2.category_idでCategoryオブジェクトを取得
$Category = $app['eccube.repository.category']->find($categoryId);

3.2で取得したCategoryオブジェクトで商品を検索
$Products = $app['eccube.repository.product']
->createQueryBuilder('p')
※下に挿入
->innerJoin('p.ProductCategories', 'pct')
->innerJoin('pct.Category', 'c')
->andWhere('pct.Category = :Category')
->setParameter('Category', $Category)
※上に挿入
->orderBy('p.create_date', 'DESC')
->setMaxResults(5)
->getQuery()
->getResult();

こんな感じではないでしょうか?
(商品一覧の処理では、複数カテゴリにも対応できるようにin句を利用しているようですが、
 カテゴリが1つだけの場合、in句は不要かと思います)


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

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


題名 投稿者 日時
   【質問】新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。 Mative_Doi 2017/9/7 13:10
     Re: 新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。 Mative_Doi 2017/9/9 23:55
       Re: 新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。 468 2017/9/10 20:56
         Re: 新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。 Mative_Doi 2017/9/11 10:31
         » Re: 新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。 468 2017/9/12 14:31
             Re: 新規に作成したページから、商品登録している特定商品カテゴリーの商品を一覧表示したいです。 Mative_Doi 2017/9/12 23:46

 



ログイン


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

統計情報

総メンバー数は89,003名です
総投稿数は110,020件です

投稿数ランキング

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.