*

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}–>&nbsp;
<!–{if $orderby != ‘price2′}–>
<a href=”javascript:fnChangeOrderby(‘price2′);”>価格の高い順</a>
<!–{else}–>
<strong>価格の高い順</strong>
<!–{/if}–>&nbsp;
<!–{if $orderby != ‘stock’}–>
<a href=”javascript:fnChangeOrderby(‘stock’);”>新着順</a>
<!–{else}–>
<strong>新着順</strong>
<!–{/if}–>&nbsp;
<!–{if $orderby != ‘stock2′}–>
<a href=”javascript:fnChangeOrderby(‘stock2′);”>登録順</a>
<!–{else}–>
<strong>登録順</strong>
<!–{/if}–>&nbsp;
<!–{if $orderby != “date”}–>
<!–        <a href=”javascript:fnChangeOrderby(‘date’);”>新着順</a> –>
<!–{else}–>
<!–    <strong>新着順</strong> –>
<!–{/if}–>
表示件数

一部コメントアウトもしていますが、編集後のコードです。

 

関連記事

no image

EC-CUBE スマホサイトのページ内リンク

EC-CUBEだけではないのですが、スマホサイトではページ内リンクが上手く動作しないことがあります。

記事を読む

no image

EC-CUBE サイトマップ 更新頻度の設定

サイトマップの更新頻度を変えることで、クローラーの訪問頻度が変えられる(絶対ではない)ようで、インデ

記事を読む

no image

EC-CUBE SSL設定 .htaccessファイルを利用する方法

EC-CUBE 2.13.0で、任意のディレクトリのみSSL通信させる場合の手順です。 環

記事を読む

no image

EC-CUBE ウェブマスターツール 500エラー 解決編

こんばんは。 色々と調査したり、テストしたりしていたEC-CUBE商品詳細ページにウェブマスタ

記事を読む

no image

EC-CUBEにPayPalを入れる前に。

EC-CUBEの決済で「PayPal ペイパル」を入れようと計画し、あれこれ調査、テストした時のこと

記事を読む

no image

EC-CUBE 新しいショップを追加する流れ

今回は、「新しいショップを追加する」作業の流れです。 現状 ・レンタルサーバーのルートディレ

記事を読む

no image

EC-CUBE 商品詳細ページの画像を大きくしたい

こんにちは。EC-CUBEでスッキリしたことをメモします。もし同じことで悩んでこのページに辿り着いた

記事を読む

no image

EC-CUBE 入力内容のご確認の文言編集

決済モジュールやプラグインの支払い方法が選択されていると、 カートのSTEP4で「ご注文完了ページ

記事を読む

no image

保護中: EC-CUBE 新しく商品検索ブロックを追加

EC-CUBE初期設定で商品検索のブロックがあります。不便なところは、同じページに同じブロックを複数

記事を読む

no image

EC-CUBE Not Found 404エラー レンタルサーバーの404ではなく自分のサイト内で表示させる

こんばんは。 サイト内に存在しないURLを表示させようとすると、サーバーはページを見つけられないの

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

no image
Fireworks CS5.1 テキスト編集ができなくなった

Fireworksメインでデザインをしています。 なぜかテキスト

no image
EC-CUBE スマホ 商品詳細のポップアップ画像がはみ出してしまう

スマホ 商品詳細 ポップアッップ画像がはみ出てしまう。 fire

no image
ドメイン取得からサイト公開まで

「なんたらかんたらドットコム」という名前のホームページを持ちたい!

no image
EC-CUBE スマホサイトのページ内リンク

EC-CUBEだけではないのですが、スマホサイトではページ内リンクが上

no image
EC-CUBE 入力内容のご確認の文言編集

決済モジュールやプラグインの支払い方法が選択されていると、 カートの

→もっと見る

PAGE TOP ↑