• 2018.06.05
  • EC-cube

【EC-cube2.13】全商品数を取得、表示させたい

【EC-cube2.13】全商品数を取得、表示させたいのイメージ画像

クライアントより、登録されている商品数を記載したいという要望がありました。
商品点数で規模感を出したいサイトには有効かもしれませんね。

削除した商品はカウントしない

DB上には削除した商品も残っていますので、「del_flg = 0」の商品のみカウントします。

PHPロジック側で下記を追加。

$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setWhere('del_flg = 0');
$arrAllItems = $objQuery->select('product_id', 'dtb_products');
$this->itemAllCount = count($arrAllItems);

Smartyテンプレート側は下記を追加。

<!--{$itemAllCount|default:0}-->

公開している商品数に限定

更に非公開の商品はカウントしたくない場合は、PHPロジック側を下記に変更。

$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setWhere('del_flg = 0 AND status = 1');
$arrAllItems = $objQuery->select('product_id', 'dtb_products');
$this->itemAllCount = count($arrAllItems);

PHPロジック側ってどのファイル?

私が表示させたのは共通部分だったので、
data/class/pages/LC_Page.phpのinit()内に記載しました。

検証してませんが、TOPページなら
data/class/pages/LC_Page_Index.phpだと思います。