バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧ページでデフォルトの並び順を設定したい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
umebius
投稿日時: 2020/10/6 21:17
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 商品一覧ページでデフォルトの並び順を設定したい
システム設定>マスタデータ管理からmtb_product_list_order_byに「在庫あり」を追加します。
この時、「在庫あり」が一番上に来るようにしてください。

IDは空いてる数字で、ここでは10としておきます。

ProductRepositoryの並び替え部分で下記のようにかけば在庫で並び替えられるのではないでしょうか。
https://github.com/EC-CUBE/ec-cube/blob/4.0.5/src/Eccube/Repository/ProductRepository.php#L205


        if (!empty($searchData['orderby']) && $searchData['orderby']->getId() == 10) {
            //@see http://doctrine-orm.readthedocs.org/en/latest/reference/dql-doctrine-query-language.html
            $qb->addSelect('MAX(pc.stock_unlimited) as HIDDEN stock_unlimited_max, MAX(pc.stock) as HIDDEN stock_max');
            $qb->innerJoin('p.ProductClasses', 'pc');
            $qb->andWhere('pc.visible = true');
            $qb->groupBy('p.id');
            $qb->orderBy('stock_unlimited_max', 'DESC');
            $qb->addOrderBy('stock_max', 'DESC');
            $qb->addOrderBy('p.id', 'DESC');

        }


規格を使っている場合はちゃんとやろうと思うともっと複雑だと思いますが・・・


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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


題名 投稿者 日時
   商品一覧ページでデフォルトの並び順を設定したい cro233 2020/10/5 13:52
   » Re: 商品一覧ページでデフォルトの並び順を設定したい umebius 2020/10/6 21:17
       Re: 商品一覧ページでデフォルトの並び順を設定したい cro233 2020/10/7 13:50

 



ログイン


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

統計情報

総メンバー数は88,885名です
総投稿数は110,000件です

投稿数ランキング

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