バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品一覧の表示順序をデフォルトで価格順にするには?

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
liferoad
投稿日時: 2015/6/15 14:27
対応状況: −−−
半人前
登録日: 2014/8/11
居住地:
投稿: 14
商品一覧の表示順序をデフォルトで価格順にするには?
商品一覧の表示順序をデフォルトで価格順にする件でご質問です。

当方利用環境です。
------------------------------------------------------------
[EC-CUBE] 2.13.2
[レンタルサーバ] heteml
[PHP] PHP 5.4.27
[データベース] MySQL 5.6.13
[WEBサーバ] Apache
------------------------------------------------------------

現在、商品をCSVで一括登録してカテゴリ商品を一覧表示で見ると
商品登録のID順?登録順?なのかわかりませんが価格順序がバラバラになって表示されます。表示順序を価格順を押した時と同様の表示をデフォルトで表示させたいと思っております。

フォーラムの情報検索のなかで同様の質問が下記の
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=11648&forum=10
が見つかったのですが、ネット情報の中で、【こちらの方法が使えるのは2.11〜2.12系のみ。 2.13以降は商品一覧の出力の仕方がまた異なりますので、上記のカスタマイズはそのままではお使い頂けません。 】
という情報があり当方2.13系なのでソース書き換えを躊躇している状況であります。

そこでご質問なのですが、上記内容の通り

/data/class/pages/products/LC_Page_Products_List.php 内の

ソースを見るとデフォルト部分には
default:
if (strlen($searchCondition['where_category']) >= 1) {
$dtb_product_categories = '(SELECT * FROM dtb_product_categories WHERE '.$searchCondition['where_category'].')';
$arrOrderVal = $searchCondition['arrvalCategory'];
} else {
$dtb_product_categories = 'dtb_product_categories';
}
$col = 'T3.rank * 2147483648 + T2.rank';
$from = "$dtb_product_categories T2 JOIN dtb_category T3 ON T2.category_id = T3.category_id";
$where = 'T2.product_id = alldtl.product_id';
$objQuery->setOrder('T3.rank DESC, T2.rank DESC');
$sub_sql = $objQuery->getSql($col, $from, $where);
$sub_sql = $objQuery->dbFactory->addLimitOffset($sub_sql, 1);

$objQuery->setOrder("($sub_sql) DESC ,product_id DESC");
break;


となっております。これを価格順を押したときの動作
$objProduct->setProductsOrder('price02', 'dtb_products_class', 'ASC');
break;

にそっくり上書きしてしまうとやはり問題があるのでしょうか?
2.13.2でデフォルトを価格順にするソースの書き方若しくは方法があればご教授ください。よろしくお願いします。
yuh
投稿日時: 2015/6/15 14:46
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 商品一覧の表示順序をデフォルトで価格順にするには?
デフォルトのソートが使えなくなる代わりに価格順になるだけなので、
デフォルトのソートを使用しないのであれば問題ないとは思います。
tsuji
投稿日時: 2015/6/16 9:21
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 商品一覧の表示順序をデフォルトで価格順にするには?
liferoad 様

別の方法ですが、list.phpのurlにパラメータとしてorderby=priceと
付け加えるなら、価格順に変わりますので、それをデフォで付け加える
という方法もあるかもしれません。

つまり例えば、下記のようなurlでリンクするということです。
http://○○/products/list.php?category_id=1&orderby=price

ただ、商品一覧へのリンクすべてにつけていくことになるので、カテゴリ
のブロックや検索時の表示する部分にも修正を加える必要があり、少し
広い範囲での修正が必要になりますが。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

liferoad
投稿日時: 2015/6/27 20:53
対応状況: 解決済
半人前
登録日: 2014/8/11
居住地:
投稿: 14
Re: 商品一覧の表示順序をデフォルトで価格順にするには?
yuh様
tsuji様

この度は、ご回答ありがとうございました。

商品一覧の表示順序をデフォルトで価格順にする件について、
解決をしました。少しづつですが勉強してよいサイトにしていきたいと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.