バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
cro233
投稿日時: 2020/10/5 13:52
対応状況: −−−
常連
登録日: 2020/1/9
居住地:
投稿: 35
商品一覧ページでデフォルトの並び順を設定したい
[EC-CUBE] 4.0.3
[レンタルサーバ] エックスサーバー
[OS] Mac OS
[PHP] 7.2.27
[データベース] MySQL 5.7.27
[WEBサーバ] Apache
[ブラウザ] Google Chrome、Safari

▼やりたいこと
商品一覧ページでデフォルトは「価格が低い順」ですが、「在庫あり」を新しく追加してデフォルトで選ばれるようにしたいです。

デフォルトのセレクトボックス
・価格が低い順
・価格が高い順
・新着順

追加したいもの
・在庫あり

「在庫あり」を選んだ場合、在庫がある商品が上に来るようになって、下に在庫なしの売り切れ商品がでるようにしたいです。

近い質問で「更新順」はありました。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=21013&forum=11
https://www.spreadworks.co.jp/product-list-sort-order-change-for-ec-cube4/

ご存知の方、いらっしゃいましたらご教示くださいませ。
umebius
投稿日時: 2020/10/6 21:17
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1753
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-CUBE4系 カスタマイズ ECのプロがシステム特急案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

cro233
投稿日時: 2020/10/7 13:50
対応状況: 解決済
常連
登録日: 2020/1/9
居住地:
投稿: 35
Re: 商品一覧ページでデフォルトの並び順を設定したい
umebius 様
こちらでもご回答ありがとうございます。

ご教示いただいてる手順で問題なく表示することができました。
的確な助言、誠にありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

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

統計情報

総メンバー数は66,655名です
総投稿数は98,384件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2651
4
nanasess
2103
5
umebius
1753
6
yuh
1612
7
red
1424
8
h_tanaka
1045
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
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.