脆弱性対応ということで、2.12.4 がリリースされましたね。
そんなわけでさっそくテスト環境にも、2.12.4 を入れてみました。
最近EC-CUBEを触っていないので、リハビリがてらお題をやってみたいと思います。
1.data/Smarty/templates/default/products/list.tpl の 104行目付近に以下のような感じでコード挿入。
これでクリックした時にURLのクエリ文字列に orderby=price_desc が入るようになると思います。
<!--{if $orderby != 'price'}--> <a href="javascript:fnChangeOrderby('price');">価格順</a> <!--{else}--> <strong>価格順</strong> <!--{/if}--> <!--{if $orderby != 'price_desc'}--> <a href="javascript:fnChangeOrderby('price_desc');">価格順(降順)</a> <!--{else}--> <strong>価格順(降順)</strong> <!--{/if}-->
2.data/class/pages/products/LC_Page_Products_List.php で、
lfGetProductsList メソッドに以下のようなコードを挿入。降順=高い順になります。
// 販売価格が安い順 case 'price': $objProduct->setProductsOrder('price02', 'dtb_products_class', 'ASC'); break; // 販売価格が高い順 case 'price_desc': $objProduct->setProductsOrder('price02', 'dtb_products_class', 'DESC'); break;
おそらくこれだけでいけるんじゃないかな。