Source for file LC_Page_Admin_Contents_RecommendSearch.php
Documentation is available at LC_Page_Admin_Contents_RecommendSearch.php
* This file is part of EC-CUBE
* Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved.
* http://www.lockon.co.jp/
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require_once CLASS_EX_REALDIR . 'page_extends/admin/LC_Page_Admin_Ex.php';
* @author LOCKON CO.,LTD.
* @version $Id: LC_Page_Admin_Contents_RecommendSearch.php 21256 2011-09-25 04:15:51Z Seasoft $
$this->tpl_mainno = 'contents';
$this->tpl_subtitle = '商品検索';
$objDb = new SC_Helper_DB_Ex();
$objFormParam = new SC_FormParam_Ex();
$objFormParam->setParam($_POST);
$objFormParam->convParam();
switch ($this->getMode()) {
$arrPost = $objFormParam->getHashArray();
// 入力された値にエラーがない場合、検索処理を行う。
// 検索結果の数に応じてページャの処理も入れる。
if (SC_Utils_Ex::isBlank($this->arrErr)) {
$objProduct = new SC_Product_Ex();
$this->tpl_linemax = $this->getLineCount($wheres,$objProduct);
$page_max = SC_Utils_Ex::sfGetSearchPageMax($arrPost['search_page_max']);
$objNavi = new SC_PageNavi_Ex($arrPost['search_pageno'], $this->tpl_linemax, $page_max, 'fnNaviSearchOnlyPage', NAVI_PMAX);
$this->tpl_strnavi = $objNavi->strnavi; // 表示文字列
$startno = $objNavi->start_row;
$arrProduct_id = $this->getProducts($wheres, $objProduct, $page_max, $startno);
$this->arrProducts = $this->getProductList($arrProduct_id,$objProduct);
$this->arrForm = $arrPost;
$this->arrCatList = $objDb->sfGetCategoryList();
$this->setTemplate('contents/recommend_search.tpl');
* @param Object $objFormParam
$objFormParam->addParam("商品ID", "search_name", LTEXT_LEN, 'KVa', array( "MAX_LENGTH_CHECK"));
$objFormParam->addParam("商品ID", "search_category_id", INT_LEN, 'n', array( "MAX_LENGTH_CHECK","NUM_CHECK"));
$objFormParam->addParam("商品コード", "search_product_code", LTEXT_LEN, 'KVa', array( "MAX_LENGTH_CHECK"));
$objFormParam->addParam("ページ番号", "search_pageno", INT_LEN, 'n', array( "MAX_LENGTH_CHECK","NUM_CHECK"));
* 入力されたパラメーターのエラーチェックを行う。
* @param Object $objFormParam
$objErr = new SC_CheckError_Ex($objFormParam->getHashArray());
$objErr->arrErr = $objFormParam->checkError();
* POSTされた値からSQLのWHEREとBINDを配列で返す。
* @return array ('where' => where string, 'bind' => databind array)
* @param SC_FormParam $objFormParam
$arrForm = $objFormParam->getHashArray();
$where = "alldtl.del_flg = 0";
foreach ($arrForm as $key => $val) {
$where .= " AND name ILIKE ?";
case 'search_category_id':
list ($tmp_where, $tmp_bind) = $objDb->sfGetCatWhere($val);
$where.= " AND alldtl.product_id IN (SELECT product_id FROM dtb_product_categories WHERE " . $tmp_where . ")";
case 'search_product_code':
$where .= " AND alldtl.product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code LIKE ? GROUP BY product_id)";
* @param array $whereAndBind
* @param SC_Product $objProduct
$where = $whereAndBind['where'];
$bind = $whereAndBind['bind'];
$objQuery = & SC_Query_Ex::getSingletonInstance();
$objQuery->setWhere($where);
$linemax = $objProduct->findProductCount($objQuery, $bind);
return $linemax; // 何件が該当しました。表示用
* @param array $whereAndBind string whereと array bindの連想配列
* @param SC_Product $objProduct
function getProducts($whereAndBind,&$objProduct, $page_max, $startno){
$where = $whereAndBind['where'];
$bind = $whereAndBind['bind'];
$objQuery = & SC_Query_Ex::getSingletonInstance();
$objQuery->setWhere($where);
$objQuery->setLimitOffset($page_max, $startno);
return $objProduct->findProductIdsOrder($objQuery, $bind);
* @param array $arrProductId
* @param SC_Product $objProduct
$objQuery = & SC_Query_Ex::getSingletonInstance();
$order = "update_date DESC, product_id DESC";
$objQuery->setOrder($order);
return $objProduct->getListByProductIds($objQuery, $arrProductId);
Documentation generated on Fri, 24 Feb 2012 14:01:12 +0900 by Seasoft
|