2011年12月06日

【EC-CUBE 2.11】商品一覧の並び替え

現行では「価格順(価格が安い順)」「新着順」だけの項目を
「価格が安い順」「価格が高い順」「新着順」「在庫あり」「在庫なし」に変更します。

data\class\pages\products\LC_Page_Products_List.php(低価格順の後に)追加
---------------------------------------------------------------
        $objQuery =& SC_Query_Ex::getSingletonInstance();
// 表示順序
switch ($this->orderby) {
// 販売価格が安い順
case 'price':
$objProduct->setProductsOrder('price02', 'dtb_products_class', 'ASC');
break;

// 販売価格が高い順
case 'price2':
$objProduct->setProductsOrder('price02', 'dtb_products_class', 'DESC');
break;

// 新着順
case 'date':
$objProduct->setProductsOrder('create_date', 'dtb_products', 'DESC');
break;

// 在庫あり
case 'stock':
$objProduct->setProductsOrder('stock', 'dtb_products_class', 'DESC');
break;

// 在庫なし
case 'stock2':
$objProduct->setProductsOrder('stock', 'dtb_products_class', 'ASC');
break;

---------------------------------------------------------------


data\Smarty\templates\テンプレート名\products\list.tplの該当部分を編集
---------------------------------------------------------------
    <!--▼ページナビ(本文)-->
<!--{capture name=page_navi_body}-->
<div class="pagenumber_area clearfix">
<div class="change">
<!--{if $orderby != 'price'}-->
<a href="javascript:fnChangeOrderby('price');">価格が安い順</a>
<!--{else}-->
<strong>価格が安い順</strong>
<!--{/if}--> 
<!--{if $orderby != "price2"}-->
<a href="javascript:fnChangeOrderby('price2');">価格が高い順</a>
<!--{else}-->
<strong>価格が高い順</strong>
<!--{/if}--> 
<!--{if $orderby != "date"}-->
<a href="javascript:fnChangeOrderby('date');">新着順</a>
<!--{else}-->
<strong>新着順</strong>
<!--{/if}--> 
<!--{if $orderby != 'stock'}-->
<a href="javascript:fnChangeOrderby('stock');">在庫あり</a>
<!--{else}-->
<strong>在庫あり</strong>
<!--{/if}--> 
<!--{if $orderby != 'stock2'}-->
<a href="javascript:fnChangeOrderby('stock2');">在庫なし</a>
<!--{else}-->
<strong>在庫なし</strong>
<!--{/if}-->
表示件数
<select name="disp_number" onchange="javascript:fnChangeDispNumber(this.value);">
<!--{foreach from=$arrPRODUCTLISTMAX item="dispnum" key="num"}-->
<!--{if $num == $disp_number}-->
<option value="<!--{$num}-->" selected="selected" ><!--{$dispnum}--></option>
<!--{else}-->
<option value="<!--{$num}-->" ><!--{$dispnum}--></option>
<!--{/if}-->
<!--{/foreach}-->
</select>
</div>
<div class="navi"><!--{$tpl_strnavi}--></div>
</div>
<!--{/capture}-->
<!--▲ページナビ(本文)-->

---------------------------------------------------------------

この設定での「在庫あり」「在庫なし」は、在庫の多い順or少ない順に並び替えるものなので、ニュアンスが違うのですが、商品数が多いので、私的にはコレでOK。


参考サイト:http://www.hiro-blog.com/2011/09/ec-cube-%E5%95%86%E5%93%81%E3%81%AE%E4%B8%A6%E3%81%B3%E9%A0%86%E3%81%A7%E4%BE%A1%E6%A0%BC%E3%81%8C%E9%AB%98%E3%81%84%E9%A0%86%E3%81%AB%E5%A4%89%E6%9B%B4%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E8%BF%BD.html


Thank you!


posted by る〜こ at 15:44| Comment(0) | EC-CUBE 2.11 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。