質問 > フロント機能 > 商品一覧の表示順序をデフォルトで価格順にするには? |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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 ただ、商品一覧へのリンクすべてにつけていくことになるので、カテゴリ のブロックや検索時の表示する部分にも修正を加える必要があり、少し 広い範囲での修正が必要になりますが。
|
liferoad |
投稿日時: 2015/6/27 20:53
対応状況: 解決済
|
半人前 登録日: 2014/8/11 居住地: 投稿: 14 |
Re: 商品一覧の表示順序をデフォルトで価格順にするには? yuh様
tsuji様 この度は、ご回答ありがとうございました。 商品一覧の表示順序をデフォルトで価格順にする件について、 解決をしました。少しづつですが勉強してよいサイトにしていきたいと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |