/**
  * Page のAction.
  *
  * @return void
  */
 public function action()
 {
     $objCustomer = new SC_Customer_Ex();
     $customer_id = $objCustomer->getValue('customer_id');
     switch ($this->getMode()) {
         case 'delete_favorite':
             // お気に入り削除
             $this->lfDeleteFavoriteProduct($customer_id, intval($_POST['product_id']));
             break;
         case 'getList':
             // スマートフォン版のもっと見るボタン用
             // ページ送り用
             if (isset($_POST['pageno'])) {
                 $this->tpl_pageno = intval($_POST['pageno']);
             }
             $this->arrFavorite = $this->lfGetFavoriteProduct($customer_id, $this);
             SC_Product_Ex::setPriceTaxTo($this->arrFavorite);
             // 一覧メイン画像の指定が無い商品のための処理
             foreach ($this->arrFavorite as $key => $val) {
                 $this->arrFavorite[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList($val['main_list_image']);
             }
             echo SC_Utils_Ex::jsonEncode($this->arrFavorite);
             SC_Response_Ex::actionExit();
             break;
         default:
             break;
     }
     // ページ送り用
     if (isset($_POST['pageno'])) {
         $this->tpl_pageno = intval($_POST['pageno']);
     }
     $this->arrFavorite = $this->lfGetFavoriteProduct($customer_id, $this);
     // 1ページあたりの件数
     $this->dispNumber = SEARCH_PMAX;
 }
예제 #2
0
 public function doAction($arrParam)
 {
     $arrRequest = $this->doInitParam($arrParam);
     if (!$this->isParamError()) {
         $masterData = new SC_DB_MasterData_Ex();
         $arrSTATUS = $masterData->getMasterData('mtb_status');
         $arrSTATUS_IMAGE = $masterData->getMasterData('mtb_status_image');
         $objProduct = new SC_Product_Ex();
         $arrSearchData = array('category_id' => $arrRequest['BrowseNode'], 'maker_name' => $arrRequest['Manufacturer'], 'name' => $arrRequest['Keywords'], 'orderby' => $arrRequest['Sort']);
         $arrSearchCondition = $this->getSearchCondition($arrSearchData);
         $disp_number = 10;
         $objQuery =& SC_Query_Ex::getSingletonInstance();
         $objQuery->setWhere($arrSearchCondition['where_for_count']);
         $objProduct = new SC_Product_Ex();
         $linemax = $objProduct->findProductCount($objQuery, $arrSearchCondition['arrval']);
         $objNavi = new SC_PageNavi_Ex($arrRequest['ItemPage'], $tpl_linemax, $disp_number);
         $arrProducts = $this->getProductsList($arrSearchCondition, $disp_number, $objNavi->start_row, $linemax, $objProduct);
         if (!SC_Utils_Ex::isBlank($arrProducts)) {
             $arrProducts = $this->setStatusDataTo($arrProducts, $arrSTATUS, $arrSTATUS_IMAGE);
             $arrProducts = $objProduct->setPriceTaxTo($arrProducts);
             foreach ($arrProducts as $key => $val) {
                 $arrProducts[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList($val['main_list_image']);
             }
             $arrData = array();
             foreach ($arrProducts as $key => $val) {
                 $arrData[] = array('product_id' => $val['product_id'], 'DetailPageURL' => HTTP_URL . 'products/detail.php?product_id=' . $val['product_id'], 'ItemAttributes' => $val);
             }
             $this->setResponse('Item', $arrData);
             return true;
         } else {
             $this->addError('ItemSearch.Error', '※ 要求された情報は見つかりませんでした。');
         }
     }
     return false;
 }
    }
    $this->_foreach['arrRecommend'] = array('total' => count($_from), 'iteration' => 0);
    if ($this->_foreach['arrRecommend']['total'] > 0) {
        foreach ($_from as $this->_tpl_vars['arrItem']) {
            $this->_foreach['arrRecommend']['iteration']++;
            ?>
                <div class="product_item">
                    <div class="productImage">
                        <a href="<?php 
            echo is_array($_tmp = @P_DETAIL_URLPATH) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp);
            echo is_array($_tmp = is_array($_tmp = $this->_tpl_vars['arrItem']['product_id']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) ? $this->_run_mod_handler('u', true, $_tmp) : smarty_modifier_u($_tmp);
            ?>
">
                            <img src="<?php 
            echo is_array($_tmp = @IMAGE_SAVE_URLPATH) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp);
            echo is_array($_tmp = is_array($_tmp = is_array($_tmp = $this->_tpl_vars['arrItem']['main_list_image']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) ? $this->_run_mod_handler('sfNoImageMainList', true, $_tmp) : SC_Utils_Ex::sfNoImageMainList($_tmp)) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp);
            ?>
" style="max-width: 65px;max-height: 65px;" alt="<?php 
            echo is_array($_tmp = is_array($_tmp = $this->_tpl_vars['arrItem']['name']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp);
            ?>
" /></a>
                    </div>
                    <?php 
            $this->assign('price02_min', $this->_tpl_vars['arrItem']['price02_min_inctax']);
            ?>
                    <?php 
            $this->assign('price02_max', $this->_tpl_vars['arrItem']['price02_max_inctax']);
            ?>
                    <div class="productContents">
                        <h3><a href="<?php 
            echo is_array($_tmp = @P_DETAIL_URLPATH) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp);
예제 #4
0
 /**
  *
  * @return void
  */
 public function doJson()
 {
     $this->arrProducts = $this->setStatusDataTo($this->arrProducts, $this->arrSTATUS, $this->arrSTATUS_IMAGE);
     SC_Product_Ex::setPriceTaxTo($this->arrProducts);
     // 一覧メイン画像の指定が無い商品のための処理
     foreach ($this->arrProducts as $key => $val) {
         $this->arrProducts[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList($val['main_list_image']);
     }
     echo SC_Utils_Ex::jsonEncode($this->arrProducts);
     SC_Response_Ex::actionExit();
 }
                $this->assign('status', $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['status']);
                ?>
                <tr style="background:<?php 
                echo is_array($_tmp = $this->_tpl_vars['arrPRODUCTSTATUS_COLOR'][$this->_tpl_vars['status']]) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp);
                ?>
;">
                    <td class="id" rowspan="2"><?php 
                echo is_array($_tmp = $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['product_id']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp);
                ?>
</td>
                    <td class="thumbnail" rowspan="2">
                    <img src="<?php 
                echo is_array($_tmp = @ROOT_URLPATH) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp);
                ?>
resize_image.php?image=<?php 
                echo is_array($_tmp = is_array($_tmp = is_array($_tmp = $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['main_list_image']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) ? $this->_run_mod_handler('sfNoImageMainList', true, $_tmp) : SC_Utils_Ex::sfNoImageMainList($_tmp)) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp);
                ?>
&amp;width=65&amp;height=65">            </td>
                    <td rowspan="2"><?php 
                echo is_array($_tmp = is_array($_tmp = $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['product_code_min']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp);
                ?>

                        <?php 
                if ((is_array($_tmp = $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['product_code_min']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) != (is_array($_tmp = $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['product_code_max']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp))) {
                    ?>
                            <br /><?php 
                    echo smarty_function_t(array('string' => "-"), $this);
                    ?>
 <?php 
                    echo is_array($_tmp = is_array($_tmp = $this->_tpl_vars['arrProducts'][$this->_sections['cnt']['index']]['product_code_max']) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp);
                    ?>
예제 #6
0
 /**
  * Page のAction.
  *
  * @return void
  */
 function action()
 {
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     $objProduct = new SC_Product_Ex();
     $this->arrForm = $_REQUEST;
     //時間が無いのでコレで勘弁してください。 tao_s
     //modeの取得
     $this->mode = $this->getMode();
     //表示条件の取得
     $this->arrSearchData = array('category_id' => $this->lfGetCategoryId(intval($this->arrForm['category_id'])), 'maker_id' => intval($this->arrForm['maker_id']), 'name' => $this->arrForm['name']);
     $this->orderby = $this->arrForm['orderby'];
     //ページング設定
     $this->tpl_pageno = $this->arrForm['pageno'];
     $this->disp_number = $this->lfGetDisplayNum($this->arrForm['disp_number']);
     // 画面に表示するサブタイトルの設定
     $this->tpl_subtitle = $this->lfGetPageTitle($this->mode, $this->arrSearchData['category_id']);
     // 画面に表示する検索条件を設定
     $this->arrSearch = $this->lfGetSearchConditionDisp($this->arrSearchData);
     // 商品一覧データの取得
     $arrSearchCondition = $this->lfGetSearchCondition($this->arrSearchData);
     $this->tpl_linemax = $this->lfGetProductAllNum($arrSearchCondition);
     $urlParam = "category_id={$this->arrSearchData['category_id']}&pageno=#page#";
     $this->objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $this->tpl_linemax, $this->disp_number, 'fnNaviPage', NAVI_PMAX, $urlParam, SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE);
     $this->arrProducts = $this->lfGetProductsList($arrSearchCondition, $this->disp_number, $this->objNavi->start_row, $this->tpl_linemax, $objProduct);
     switch ($this->getMode()) {
         case "json":
             $this->arrProducts = $this->setStatusDataTo($this->arrProducts, $this->arrSTATUS, $this->arrSTATUS_IMAGE);
             $this->arrProducts = $objProduct->setPriceTaxTo($this->arrProducts);
             // 一覧メイン画像の指定が無い商品のための処理
             foreach ($this->arrProducts as $key => $val) {
                 $this->arrProducts[$key]['main_list_image'] = SC_Utils_Ex::sfNoImageMainList($val['main_list_image']);
             }
             echo SC_Utils_Ex::jsonEncode($this->arrProducts);
             exit;
             break;
         default:
             //商品一覧の表示処理
             $strnavi = $this->objNavi->strnavi;
             // 表示文字列
             $this->tpl_strnavi = empty($strnavi) ? "&nbsp;" : $strnavi;
             // 規格1クラス名
             $this->tpl_class_name1 = $objProduct->className1;
             // 規格2クラス名
             $this->tpl_class_name2 = $objProduct->className2;
             // 規格1
             $this->arrClassCat1 = $objProduct->classCats1;
             // 規格1が設定されている
             $this->tpl_classcat_find1 = $objProduct->classCat1_find;
             // 規格2が設定されている
             $this->tpl_classcat_find2 = $objProduct->classCat2_find;
             $this->tpl_stock_find = $objProduct->stock_find;
             $this->tpl_product_class_id = $objProduct->product_class_id;
             $this->tpl_product_type = $objProduct->product_type;
             // 商品ステータスを取得
             $this->productStatus = $this->arrProducts['productStatus'];
             unset($this->arrProducts['productStatus']);
             $this->tpl_javascript .= 'var productsClassCategories = ' . SC_Utils_Ex::jsonEncode($objProduct->classCategories) . ';';
             //onloadスクリプトを設定. 在庫ありの商品のみ出力する
             foreach ($this->arrProducts as $arrProduct) {
                 if ($arrProduct['stock_unlimited_max'] || $arrProduct['stock_max'] > 0) {
                     $js_fnOnLoad .= "fnSetClassCategories(document.product_form{$arrProduct['product_id']});";
                 }
             }
             //カート処理
             $target_product_id = intval($this->arrForm['product_id']);
             if ($target_product_id > 0) {
                 // 商品IDの正当性チェック
                 if (!SC_Utils_Ex::sfIsInt($this->arrForm['product_id']) || !SC_Helper_DB_Ex::sfIsRecord("dtb_products", "product_id", $this->arrForm['product_id'], "del_flg = 0 AND status = 1")) {
                     SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
                 }
                 // 入力内容のチェック
                 $arrErr = $this->lfCheckError($target_product_id, $this->arrForm, $this->tpl_classcat_find1, $this->tpl_classcat_find2);
                 if (empty($arrErr)) {
                     $this->lfAddCart($this->arrForm, $_SERVER['HTTP_REFERER']);
                     SC_Response_Ex::sendRedirect(CART_URLPATH);
                     exit;
                 }
                 $js_fnOnLoad .= $this->lfSetSelectedData($this->arrProducts, $this->arrForm, $arrErr, $target_product_id);
             } else {
                 // カート「戻るボタン」用に保持
                 $netURL = new Net_URL();
                 //該当メソッドが無いため、$_SESSIONに直接セット
                 $_SESSION['cart_referer_url'] = $netURL->getURL();
             }
             $this->tpl_javascript .= 'function fnOnLoad(){' . $js_fnOnLoad . '}';
             $this->tpl_onload .= 'fnOnLoad(); ';
             break;
     }
     $this->tpl_rnd = SC_Utils_Ex::sfGetRandomString(3);
 }