バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akiakihi
投稿日時: 2019/6/3 15:36
対応状況: 保留
一人前
登録日: 2014/7/17
居住地: 兵庫県
投稿: 91
在庫のない商品を後ろに表示したい
------------------------------------------------
[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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,724名です
総投稿数は109,953件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
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.