バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧sortについて

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
earth012
投稿日時: 2016/10/4 13:36
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
商品一覧sortについて
商品一覧のsortで「価格」「新着順」に3で追加し、カテゴリ表示順を使用したいのですが、
ProductRepository.php ファイルに
以下のように追加すると
// Order By
// 価格順
 ・
 ・ 
 ・
} else if (!empty($searchData['orderby']) && $searchData['orderby']->getId() == '3') {
$qb ->leftJoin('p.ProductCategories', 'pct')
->leftJoin('pct.Category', 'c');
$qb->orderBy('pct.rank', 'ASC');

に追加すると

SQlのテーブル dtb_product_categoryのrank が取得されます。

SQLのテーブル dtb_categoryのrankを取得するにはどう書けばよろしいでしょうか?

また範囲をlevel= ○と指定する場合も併せて教えていただけますでしょうか?

EC-CUBE 3.0.10
PHP 7.06
 

umebius
投稿日時: 2016/10/4 15:11
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 商品一覧sortについて
dtb_categoryのrankはc.rankになります。

範囲をlevel= ○と指定する場合は、
$qb->andWhere('c.level = ○');でいいと思います。


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

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

earth012
投稿日時: 2016/10/4 16:06
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
Re: 商品一覧sortについて
ご教授有難うございます。
解決しました。

umebius
投稿日時: 2016/10/6 14:29
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 商品一覧sortについて
よかったです!
QueryBuilderの使い方はこのあたりが参考になります。

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html


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

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

earth012
投稿日時: 2016/10/7 2:07
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
Re: 商品一覧sortについて
ありがとうございます。

すみません、追加で質問ですが、
表示rank順に並べてさらに(かつ)価格順等他テーブル参照してsortするにはどう書けばよいでしょうか?
umebius
投稿日時: 2016/10/7 9:17
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: 商品一覧sortについて
joinして、addOrderByです。

$qb ->orderBy(...)
->leftJoin(...)
->addOrderBy(...);


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

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

earth012
投稿日時: 2016/10/12 15:04
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
Re: 商品一覧sortについて
返信おそくなりました。
やりたいこと解決できてうれしいです。

ちなみにですが、というか関連で疑問でてきましてご教授お願いしたいのですが、

商品一覧sortではなく検索フォームで同じことをしたいのですが、できますでしょうか?
----
検索フォームでカテゴリ初期選択「全ての商品」の状態で検索した場合の一覧表示をカテゴリ順かつ価格順にしたい
----
おそらく SearchProductType.php の40行目付近を修正すればいいのかと思うのですが、、、
$builder->add('mode', 'hidden', array(
'data' => 'search',
));
$builder->add('category_id', 'entity', array(
'class' => 'Eccube\Entity\Category',
'property' => 'NameWithLevel',
'query_builder' => function (EntityRepository $er) {
return $er
->createQueryBuilder('c')
->orderBy('c.rank', 'DESC');
},
'empty_value' => '全ての商品',


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


 



ログイン


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

統計情報

総メンバー数は88,873名です
総投稿数は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.