バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 特定のカテゴリの商品リスト作成について

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
tacky14
投稿日時: 2022/9/15 12:29
対応状況: −−−
半人前
登録日: 2021/4/23
居住地:
投稿: 16
Re: 特定のカテゴリの商品リスト作成について
src\Eccube\Repository\ProductRepository.php のgetQueryBuilderBySearchData()
// Order By 以下のIf文で並び順が指定できますね。
ただ、ここではP.id DESC で固定されてしまっているので、ソース改修しないと難しいのでは?と思います。

商品の並び順は、mtb_product_list_order_by でマスタ登録されているので
管理画面のマスタデータ管理から、IDと名称を登録

app\Customize\以下に同ファイルをコピーして

// 作成日順
        } elseif (!empty($searchData['orderby']) && $searchData['orderby']->getId() == 登録したマスタID) {
            if ($categoryJoin === false) {
                $qb
                    ->leftJoin('p.ProductCategories', 'pct')
                    ->leftJoin('pct.Category', 'c');
            }
            $qb->orderBy('p.create_date', 'ASC');
            $qb->addOrderBy('p.id', 'ASC');

このような形でOrderByのIf文に作成日順のパターンを追加。

tenplate側で
{% set Category = repository("Eccube\\Entity\\Category").find(カテゴリID) %}
{% set ProductListOrderBy = repository("Eccube\\Entity\\Master\\ProductListOrderBy").find(登録したマスタID) %}
{%
set products = repository("Eccube\\Entity\\Product")
.getQueryBuilderBySearchData({'category_id':Category, 'orderby': ProductListOrderBy})
.getQuery()
.getResult()
%}

このような形で調整すると、作成日順に取得できるのではないかと思います。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   特定のカテゴリの商品リスト作成について rokuatsu 2022/9/14 17:30
   » Re: 特定のカテゴリの商品リスト作成について tacky14 2022/9/15 12:29
       Re: 特定のカテゴリの商品リスト作成について rokuatsu 2022/9/18 14:03

 



ログイン


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

統計情報

総メンバー数は89,014名です
総投稿数は110,020件です

投稿数ランキング

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