バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 規格あり商品の価格順ソートについて

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nakamori
投稿日時: 2018/4/25 12:14
対応状況: −−−
常連
登録日: 2018/4/25
居住地:
投稿: 33
規格あり商品の価格順ソートについて
[EC-CUBE] 3.0.16、新規インストール
[レンタルサーバ] カゴヤ マネージド専用サーバー
[OS] CentOS6
[PHP] 7.0.28
[データベース] MySQL 5.6.36
[WEBサーバ] Apache/2.4.33
[ブラウザ] Chrome最新版
[導入プラグインの有無] 有
・商品情報追加プラグイン
・商品おすすめ順プラグイン

[カスタマイズの有無] 有

Twigテンプレート(app/template/foobar/Product/list.twig)をカスタマイズし、
商品一覧画面で規格登録してある商品を並べて表示しています。

商品登録条件
・規格1のみ使用
・規格ごとに異なる金額を設定
・規格未設定の商品もある

一覧画面のカスタマイズ内容
・表示する商品情報に規格内容を追加
・規格登録があったら、設定数分を並べて表示
・表示件数も規格ごとにカウントして表示

例えば[商品A]にサイズ別の金額が設定してあったら

・商品A Lサイズ 5,000円
・商品A Mサイズ 3,000円

というように、2件分として表示しています。


[現象]

上記カスタマイズを加えた状態で、価格順ソートを自然に見せるには
どのようにすればいいでしょうか?

現状は(当たり前ですが)
価格の高い順 → price02_maxの値でソート
しているため、4,000円の[商品B]があると


・商品A Lサイズ 5,000円
・商品A Mサイズ 3,000円
・商品B 4,000円

のような順番で表示されてしまいます。


Twigテンプレートの書き換えでなんとかなるか、それとも
src/Eccube/Repository/ProductRepository.php
あたりのカスタマイズが必要になるでしょうか?
他に影響が出そうな部分など(pagenationも必要そうですが)もありましたら、
ご教授ください。
468
投稿日時: 2018/4/25 18:56
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 規格あり商品の価格順ソートについて
Twigの変更だけでは対応できないと思います。
規格単位で並び替えを行う事になるかと思いますので、
pagenationの対象がProductではなく、ProductClassとなるかと思いますので、
ProductRepositoryにも手を加える必要があると思います。

もし、私が実装するのであれば、影響を最小限に抑えるために
ProductClassRepository.phpに、新しくProductRepository.getQueryBuilderBySearchDataをコピーしたメソッドを追加して、、
内容を
$qb = $this->createQueryBuilder('pc')
->innerJoin('pc.Product', 'p')
->andWhere('p.Status = 1');
のようにProductClassを取得するDQLに変更して、
そのメソッドをProductController.phpから呼び出すように変更します。

ProductRepository.getQueryBuilderBySearchData()は、
デフォルトでは商品一覧以外から呼び出している箇所は無いようですが
追加したプラグイン等で利用される可能性もありますので、
そのままとしておいたほうが良いと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

nakamori
投稿日時: 2018/4/26 13:41
対応状況: −−−
常連
登録日: 2018/4/25
居住地:
投稿: 33
Re: 規格あり商品の価格順ソートについて
早速、ありがとうございます!

やはりProductRepositoryに手を加える必要があるのですね。
丁寧にヒントも記載いただき、大変助かります。

この件について進捗がありましたら、またご報告させていただきます。
取り急ぎ御礼まで。


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1291
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.