バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧(全商品一覧)ページで特定カテゴリの商品を非表示にしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
YUYU-YU
投稿日時: 2019/5/30 14:31
対応状況: −−−
新米
登録日: 2019/5/29
居住地:
投稿: 5
商品一覧(全商品一覧)ページで特定カテゴリの商品を非表示にしたい
[EC-CUBE] 3.0.17

■実現したい機能
全商品一覧ページで特定カテゴリの商品を非表示にしたい。
ただし、上記で非表示にしたカテゴリのカテゴリページには商品を表示できるようにしたい。

■参考記事
●【3.0.15】商品一覧ページに特定の商品を表示させない方法
http://ec-cube.nakweb.com/eccube3/3660

下記はEC-CUBE2.X系でのカスタマイズ記事です。
●【EC-CUBE2】非公開カテゴリーの作成
http://zero-one-x.com/archives/141
●[EC-CUBE 2.12.4] 商品一覧ページで特定のカテゴリを含む商品を非表示にする
http://ec-cube.nakweb.com/blog/2210.html

上記記事を参考に素人なりに弄ってみたのですが、
全商品が表示されなくなったり、システムエラーになってしまいます。

恐らく、/src/Eccube/Repository/ProductRepository.phpに条件を追加すれば実現可能かと考えています。

どなたか分かる方、ご教授をお願い致します。
kazumi
投稿日時: 2019/5/31 11:22
対応状況: −−−
常連
登録日: 2019/4/15
居住地:
投稿: 45
Re: 商品一覧(全商品一覧)ページで特定カテゴリの商品を非表示にしたい
YUYU-YU さん、初めまして。

「/src/Eccube/Repository/ProductRepository.php」の「getQueryBuilderBySearchData」のメソッド内の104行目あたりから商品の一覧表示時のカテゴリー検索の条件設定の箇所があり、以下のようにelse句で追加していただくと実装できましたよ。


        // 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;
            }
        // ここから分岐を追加
        } else {
            $qb
                ->innerJoin('p.ProductCategories', 'pct')
                ->innerJoin('pct.Category', 'c')
                ->andWhere($qb->expr()->notIn('pct.Category', ':Categories'))
                ->setParameter('Categories', array(1, 4));
            $categoryJoin = true;
        }
        // ここまで

YUYU-YU
投稿日時: 2019/5/31 12:02
対応状況: 解決済
新米
登録日: 2019/5/29
居住地:
投稿: 5
Re: 商品一覧(全商品一覧)ページで特定カテゴリの商品を非表示にしたい
kazumi様

迅速なご回答ありがとうございます。

ご教授頂きましたように、else句を追加することで、
実現したい動作をさせることができました。

なんとお礼を申し上げてよいのか、感謝してもしきれません。

この度は、本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は51,313名です
総投稿数は93,552件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1986
4
468
1863
5
yuh
1604
6
red
1353
7
umebius
1296
8
h_tanaka
924
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
780
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.