EC-CUBE 在庫ありなどの条件で一覧表示の順序を変える
公開日:
:
EC-CUBE
EC-CUBE初期の状態だと「商品一覧ページの頭の方にも在庫切れ商品が表示」されますね。お客様がサイトにアクセスして、在庫切れ商品ばかりが並んでいるのは避けたい。
対策として1.在庫あり商品だけ表示させる 2.在庫がある商品を優先して表示させるがあります。今回は2の対策を行います。
理由は、在庫切れ商品も表示させた方が、「人気ショップ、取扱商品数が多い」などのイメージを与えられる期待と、コンテンツ量を増やすためです。
修正するファイル
data/class/pages/products/LC_Page_Products_List.php
data/Smarty/templates/default/products/list.tpl
data/class/pages/products/LC_Page_Products_List.php
/* 商品一覧の表示 */
public function lfGetProductsList($searchCondition, $disp_number, $startno, &$objProduct)
{
$arrOrderVal = array();
$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(‘update_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;
default:
$objProduct->setProductsOrder(‘stock’, ‘dtb_products_class’, ‘DESC’);
break;
}
data/Smarty/templates/default/products/list.tpl
<!–▼ページナビ(本文)–>
<!–{capture name=page_navi_body}–>
<div>
<div>
<!–{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 != ‘stock’}–>
<a href=”javascript:fnChangeOrderby(‘stock’);”>新着順</a>
<!–{else}–>
<strong>新着順</strong>
<!–{/if}–>
<!–{if $orderby != ‘stock2′}–>
<a href=”javascript:fnChangeOrderby(‘stock2′);”>登録順</a>
<!–{else}–>
<strong>登録順</strong>
<!–{/if}–>
<!–{if $orderby != “date”}–>
<!– <a href=”javascript:fnChangeOrderby(‘date’);”>新着順</a> –>
<!–{else}–>
<!– <strong>新着順</strong> –>
<!–{/if}–>
表示件数
一部コメントアウトもしていますが、編集後のコードです。
関連記事
-
EC-CUBE スマホサイトのページ内リンク
EC-CUBEだけではないのですが、スマホサイトではページ内リンクが上手く動作しないことがあります。
-
EC-CUBE サイトマップ 更新頻度の設定
サイトマップの更新頻度を変えることで、クローラーの訪問頻度が変えられる(絶対ではない)ようで、インデ
-
EC-CUBE SSL設定 .htaccessファイルを利用する方法
EC-CUBE 2.13.0で、任意のディレクトリのみSSL通信させる場合の手順です。 環
-
EC-CUBE ウェブマスターツール 500エラー 解決編
こんばんは。 色々と調査したり、テストしたりしていたEC-CUBE商品詳細ページにウェブマスタ
-
EC-CUBEにPayPalを入れる前に。
EC-CUBEの決済で「PayPal ペイパル」を入れようと計画し、あれこれ調査、テストした時のこと
-
EC-CUBE 新しいショップを追加する流れ
今回は、「新しいショップを追加する」作業の流れです。 現状 ・レンタルサーバーのルートディレ
-
EC-CUBE 商品詳細ページの画像を大きくしたい
こんにちは。EC-CUBEでスッキリしたことをメモします。もし同じことで悩んでこのページに辿り着いた
-
EC-CUBE 入力内容のご確認の文言編集
決済モジュールやプラグインの支払い方法が選択されていると、 カートのSTEP4で「ご注文完了ページ
-
保護中: EC-CUBE 新しく商品検索ブロックを追加
EC-CUBE初期設定で商品検索のブロックがあります。不便なところは、同じページに同じブロックを複数
-
EC-CUBE Not Found 404エラー レンタルサーバーの404ではなく自分のサイト内で表示させる
こんばんは。 サイト内に存在しないURLを表示させようとすると、サーバーはページを見つけられないの
PREV :
EC-CUBE サイトマップ 更新頻度の設定
NEXT :
EC-CUBE 特定商取引法ページのメールアドレス