質問 > フロント機能 > 特定カテゴリだけ在庫なしの物を表示 |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
koba2017 |
投稿日時: 2017/9/12 11:30
対応状況: 解決済
|
半人前 登録日: 2017/9/5 居住地: 投稿: 11 |
解決しましたのでまとめです ありがとうございました。
解決しました 参考までに詳細を書いておきます。 【やりたかったこと】 「販売済み」カテゴリを作って在庫の無い物はそちらでギャラリーとして一覧表示したかった 「花の絵(カテゴリID=5)」「販売済み(カテゴリID=10)」 ・在庫ありの商品 カテゴリID=5…「花の絵」一覧で表示 ・在庫なしの商品 カテゴリID=5,10…「花の絵」一覧で非表示・「販売済み」で表示 1.管理画面から「設定」「基本情報」「ショップマスター」で 「在庫切れ商品を非表示にする」⇒「無効」 (こうしないと、商品も表示されません) 2.src/Eccube/Repository/ProductRepository.php 107行あたりに分岐の追加 // 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; //----------------------- // 「販売済み」系カテゴリ以外では完売商品を表示させない $cat_id = $_GET['category_id']; if($cat_id == '10'){ $qb->andWhere('pc.stock = 0'); }else{ $qb->andWhere('pc.stock = 1'); } //----------------------- } } |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
特定カテゴリだけ在庫なしの物を表示 | koba2017 | 2017/9/6 16:13 |
Re: 特定カテゴリだけ在庫なしの物を表示 | 468 | 2017/9/7 17:14 |
Re: 特定カテゴリだけ在庫なしの物を表示 | koba2017 | 2017/9/12 10:11 |
» 解決しましたのでまとめです | koba2017 | 2017/9/12 11:30 |