【EC-CUBE】商品一覧ページの商品の並べ替え降順を追加する
一覧ページの並べ替えリンクで、価格順に昇順だけでなく降順を追加する。
新着順も同様に変更可能。
その1)/data/Smarty/templates/default/list.tplに降順並べ替え用のリンクを追加
L69あたりから(ver.2.3.2例)のソースに価格降順用のソースを追記。「価格順」のソースをコピペして編集すればOK。
<!–件数ここから–>
<!–{if $tpl_linemax > 0}–>
<ul class=”pagenumberarea”>
<li class=”left”><span class=”pagenumber”><!–{$tpl_linemax}–></span>件の商品がございます。</li>
<li class=”center”><!–{$tpl_strnavi}–></li>
<li class=”right”><!–{if $orderby != ‘price’}–>
<a href=”javascript:fnModeSubmit(”, ‘orderby’, ‘price’)”>価格順</a>
<!–{else}–>
<strong>価格順</strong>
<!–{/if}–>
<!–{if $orderby != ‘price2’}–>
<a href=”javascript:fnModeSubmit(”, ‘orderby’, ‘price2’)”>価格降順</a>
<!–{else}–>
<strong>価格降順</strong>
<!–{/if}–>
<!–{if $orderby != “date”}–>
<a href=”javascript:fnModeSubmit(”, ‘orderby’, ‘date’)”>新着順</a>
<!–{else}–>
<strong>新着順</strong>
<!–{/if}–>
</li>
</ul><!–件数ここまで–>
<!–{else}–>
<!–{include file=”frontparts/search_zero.tpl”}–>
<!–{/if}–>
その2)/data/class/pages/products/LC_Page_Products_List.phpに価格降順用のソースを追記。
こちらも同様に、上の「価格順」のソースをコピペして編集すればOK。
L393あたりから
//価格順
case ‘price’:
$col = “DISTINCT price02_min, product_id, product_code_min, product_code_max,”
. ” name, comment1, comment2, comment3,”
. ” main_list_comment, main_image, main_list_image,”
. ” price01_min, price01_max, price02_max,”
. ” stock_min, stock_max, stock_unlimited_min, stock_unlimited_max,”
. ” point_rate, sale_limit, sale_unlimited, deliv_date_id, deliv_fee,”
. ” status, product_flag, create_date, del_flg”;
$from = “vw_products_allclass AS T1”;
$order = “price02_min, product_id”;
break;
というソースがあるので、その下にコピーして下記のように編集。
//価格順
case ‘price2’:
$col = “DISTINCT price02_min, product_id, product_code_min, product_code_max,”
. ” name, comment1, comment2, comment3,”
. ” main_list_comment, main_image, main_list_image,”
. ” price01_min, price01_max, price02_max,”
. ” stock_min, stock_max, stock_unlimited_min, stock_unlimited_max,”
. ” point_rate, sale_limit, sale_unlimited, deliv_date_id, deliv_fee,”
. ” status, product_flag, create_date, del_flg”;
$from = “vw_products_allclass AS T1”;
$order = “price02_min DESC, product_id”;
break;
これで、追加OK。新着順を古いものから並べたいときは、同様の手順でその下の「新着順」のコードをコピペして、一番下の「$order = “create_date DESC, product_id”;」を「$order = “create_date, product_id”;」(DESCを削除)とすればよい。