バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 在庫のない商品を後ろに表示したい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akiakihi
投稿日時: 2019/6/3 15:36
対応状況: 保留
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 83
在庫のない商品を後ろに表示したい
------------------------------------------------
[EC-CUBE] 3.0.17
[レンタルサーバ]さくらインターネット
[OS] Windows10
[PHP] PHP Version 7.2.17
[データベース] MySQL 5.7
[ブラウザ] Chrome
------------------------------------------------

在庫切れ商品の並び替え/表示についてのご相談
こちらを参考にしてみたところ、エラーで表示されなくなってしまったので

EC-CUBE3在庫数順(在庫切れ商品後ろ)でエラーの件
こちらのサイト様を参考に、新着順表示で下記のようにしたらうまくいきました。


            // 新着順
        } else if (!empty($searchData['orderby']) && $searchData['orderby']->getId() == $config['product_order_newer']) {
            // 在庫切れ商品非表示の設定が有効時対応
            // @see https://github.com/EC-CUBE/ec-cube/issues/1998
            if ($this->app['orm.em']->getFilters()->isEnabled('nostock_hidden') == true) {
                $qb->innerJoin('p.ProductClasses', 'pc');
            }
            $qb->innerJoin('p.ProductClasses', 'pc');            
            $qb->addSelect('pc.stock as HIDDEN stock');
            $qb->orderBy('stock', 'DESC');
            $qb->addOrderBy('p.create_date', 'DESC');
            $qb->addOrderBy('p.id', 'DESC');


が、
価格が低い順、高い順では、groupByがあるためか、$qb->orderBy('stock', 'DESC');を使うことが出来ません。


            // 価格高い順
        } else if (!empty($searchData['orderby']) && $searchData['orderby']->getId() == $config['product_order_price_higher']) {
            $qb->addSelect('MAX(pc.price02) as HIDDEN price02_max');
            $qb->innerJoin('p.ProductClasses', 'pc');
            $qb->addSelect('pc.stock as HIDDEN stock');
            $qb->groupBy('p.id');
            $qb->orderBy('stock', 'DESC');
            $qb->addOrderBy('price02_max', 'DESC');
            $qb->addOrderBy('p.id', 'DESC');



こちらの記述ではエラーとなってしまいカテゴリーページが表示されません。

在庫がないものはsold out表示で価格を表示しないようにしているので、価格順にソートした場合、在庫のない商品が大量に上に来ると、尚更とても見づらくなってしまっています。

在庫がない商品も、検索でショップにたどり着いてくれる可能性があるため、なるべく非表示設定にしたくはありません。
(沢山たまってきたらsold out専用の別カテゴリーに移動してはいますが)

そもそもの基本がわかっていなくて恐縮ですが、価格順においても、在庫のない商品が後ろにまわるようにするにはどうしたらいいか、対策についてご教授いただけますと幸いです。

どうか皆様よろしくお願いいたします。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » 在庫のない商品を後ろに表示したい akiakihi 2019/6/3 15:36
     Re: 在庫のない商品を後ろに表示したい 468 2019/6/3 16:58
       Re: 在庫のない商品を後ろに表示したい akiakihi 2019/6/3 23:38
     Re: 在庫のない商品を後ろに表示したい tao_s 2019/6/3 17:09
       Re: 在庫のない商品を後ろに表示したい akiakihi 2019/6/3 23:43

 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は62,555名です
総投稿数は96,377件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2340
4
nanasess
2044
5
yuh
1612
6
umebius
1588
7
red
1404
8
h_tanaka
1011
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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