Page
[ class tree: Page ] [ index: Page ] [ all elements ]

Source for file LC_Page_FrontParts_Bloc_Recommend.php

Documentation is available at LC_Page_FrontParts_Bloc_Recommend.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. // {{{ requires
  25. require_once CLASS_REALDIR 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php';
  26.  
  27. /**
  28.  * Recommend のページクラス.
  29.  *
  30.  * @package Page
  31.  * @author LOCKON CO.,LTD.
  32.  * @version $Id: LC_Page_FrontParts_Bloc_Best5 - Copy.php -1   $
  33.  */
  34.  
  35.     // }}}
  36.     // {{{ functions
  37.  
  38.     /**
  39.      * Page を初期化する.
  40.      *
  41.      * @return void 
  42.      */
  43.     function init({
  44.         parent::init();
  45.     }
  46.  
  47.     /**
  48.      * Page のプロセス.
  49.      *
  50.      * @return void 
  51.      */
  52.     function process({
  53.         $this->action();
  54.         $this->sendResponse();
  55.     }
  56.  
  57.     /**
  58.      * Page のアクション.
  59.      *
  60.      * @return void 
  61.      */
  62.     function action({
  63.  
  64.         // 基本情報を渡す
  65.         $objSiteInfo SC_Helper_DB_Ex::sfGetBasisData();
  66.         $this->arrInfo $objSiteInfo->data;
  67.  
  68.         //おすすめ商品表示
  69.         $this->arrBestProducts $this->lfGetRanking();
  70.     }
  71.  
  72.     /**
  73.      * デストラクタ.
  74.      *
  75.      * @return void 
  76.      */
  77.     function destroy({
  78.         parent::destroy();
  79.     }
  80.  
  81.     /**
  82.      * おすすめ商品検索.
  83.      *
  84.      * @return array $arrBestProducts 検索結果配列
  85.      */
  86.     function lfGetRanking(){
  87.         $objQuery =SC_Query_Ex::getSingletonInstance();
  88.         $objProduct new SC_Product_Ex();
  89.  
  90.         // おすすめ商品取得
  91.         $col 'best_id, best_id, category_id, rank, product_id, title, comment, create_date, update_date';
  92.         $table 'dtb_best_products';
  93.         $where 'del_flg = 0';
  94.         $objQuery->setOrder('rank');
  95.         $objQuery->setLimit(RECOMMEND_NUM);
  96.         $arrBestProducts $objQuery->select($col$table$where);
  97.  
  98.         $objQuery =SC_Query_Ex::getSingletonInstance();
  99.         if (count($arrBestProducts0{
  100.             // 商品一覧を取得
  101.             // where条件生成&セット
  102.             $arrProductId array();
  103.             $where 'product_id IN (';
  104.             foreach ($arrBestProducts as $key => $val{
  105.                 $arrProductId[$val['product_id'];
  106.             }
  107.             // 取得
  108.             $arrTmp $objProduct->getListByProductIds($objQuery$arrProductId);
  109.             foreach ($arrTmp as $key => $arrRow{
  110.                 $arrProductList[$arrRow['product_id']] $arrRow;
  111.             }
  112.             // おすすめ商品情報にマージ
  113.             foreach (array_keys($arrBestProductsas $key{
  114.                 $arrRow =$arrBestProducts[$key];
  115.                 if (isset($arrProductList[$arrRow['product_id']])) {
  116.                     $arrRow array_merge($arrRow$arrProductList[$arrRow['product_id']]);
  117.                 else {
  118.                     // 削除済み商品は除外
  119.                     unset($arrBestProducts[$key]);
  120.                 }
  121.             }
  122.         }
  123.         return $arrBestProducts;
  124.     }
  125. }
  126. ?>

Documentation generated on Fri, 24 Feb 2012 14:02:01 +0900 by Seasoft