EC-CUBE非公開商品をランキングに表示しない

金曜日, 9月 4th, 2009

こんにちは、なかわけです。

今日はEC-CUBEの話。

タイトル通り、EC-CUBEで非公開の商品をランキングに表示しない方法。

/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Ranking.php
の74行目あたりのIfGetRanking()を編集します。

$col = "T1.product_id, T1.product_name as name, T3.main_list_image, COUNT(*) as order_count";
$from = "dtb_order_detail AS T1
INNER JOIN dtb_order AS T2 ON T1.order_id = T2.order_id
INNER JOIN dtb_products AS T3 ON T1.product_id = T3.product_id";
$objQuery->setgroupby("T1.product_id, T1.product_name, T3.main_list_image");
$objQuery->setorder("order_count DESC");

$col = "T1.product_id, T1.product_name as name, T3.main_list_image, COUNT(*) as order_count";
$from = "dtb_order_detail AS T1
INNER JOIN dtb_order AS T2 ON T1.order_id = T2.order_id
INNER JOIN dtb_products AS T3 ON T1.product_id = T3.product_id";
$objQuery->setwhere("T3.status = 1");
$objQuery->setgroupby("T1.product_id, T1.product_name, T3.main_list_image");
$objQuery->setorder("order_count DESC");

$objQuery->setgroupbyの前に$objQuery->setwhere(“T3.status = 1″);を追加します。
これで非公開商品はランキングにランクされません。

この件に関係してわかったことを箇条書き。

  1. ランキングは受注情報から作られる
  2. 売り切れまたは削除した商品もランキングされてしまう
  3. ランキングは販売個数ではなく注文回数をカウントされている

3.についての解説
例えば、1回の注文でボールペンが100本売れたのと、ノートが1冊の注文が2回(つまり2冊売れた)があったのでは、
ボールペンよりノートの方が上位にランキングされるということ。

へぇ~。

Tags:

Leave a Reply

*