/** * Page のAction. * * @return void */ public function action() { /* @var $objCustomer Customer */ $objCustomer = Application::alias('eccube.customer'); if (!Utils::sfIsInt($_GET['send_id'])) { Utils::sfDispSiteError(CUSTOMER_ERROR); } $arrMailView = $this->lfGetMailView($_GET['send_id'], $objCustomer->getValue('customer_id')); if (empty($arrMailView)) { Utils::sfDispSiteError(CUSTOMER_ERROR); } $this->tpl_subject = $arrMailView[0]['subject']; $this->tpl_body = $arrMailView[0]['mail_body']; if (Application::alias('eccube.display')->detectDevice() === DEVICE_TYPE_PC) { $this->setTemplate('mypage/mail_view.tpl'); } else { $this->tpl_title = 'メール履歴詳細'; $this->tpl_mainpage = 'mypage/mail_view.tpl'; } switch ($this->getMode()) { case 'getDetail': echo Utils::jsonEncode($arrMailView); Application::alias('eccube.response')->actionExit(); break; default: break; } }
/** * Page のAction. * * @return void */ public function action() { /* @var $objCustomer Customer */ $objCustomer = Application::alias('eccube.customer'); $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); Application::alias('eccube.product')->setPriceTaxTo($this->arrFavorite); // 一覧メイン画像の指定が無い商品のための処理 foreach ($this->arrFavorite as $key => $val) { $this->arrFavorite[$key]['main_list_image'] = Utils::sfNoImageMainList($val['main_list_image']); } echo Utils::jsonEncode($this->arrFavorite); Application::alias('eccube.response')->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; }
/** * エラーメッセージを JSON 形式で返す. * * TODO リファクタリング * この関数は主にスマートフォンで使用します. * * @param integer エラーコード * @return string JSON 形式のエラーメッセージ * @see LC_PageError */ public function lfGetErrorMessage($error) { switch ($error) { case TEMP_LOGIN_ERROR: $msg = "メールアドレスもしくはパスワードが正しくありません。\n本登録がお済みでない場合は、仮登録メールに記載されているURLより本登録を行ってください。"; break; case SITE_LOGIN_ERROR: default: $msg = 'メールアドレスもしくはパスワードが正しくありません。'; } return Utils::jsonEncode(array('login_error' => $msg)); }
/** * Page のAction. * * @return void */ public function action() { //決済処理中ステータスのロールバック /* @var $objPurchase PurchaseHelper */ $objPurchase = Application::alias('eccube.helper.purchase'); $objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG); /* @var $objCustomer Customer */ $objCustomer = Application::alias('eccube.customer'); $customer_id = $objCustomer->getValue('customer_id'); //ページ送り用 /* @var $objNavi PageNavi */ $this->objNavi = Application::alias('eccube.page_navi', $_REQUEST['pageno'], $this->lfGetOrderHistory($customer_id), SEARCH_PMAX, 'eccube.movePage', NAVI_PMAX, 'pageno=#page#', Application::alias('eccube.display')->detectDevice() !== DEVICE_TYPE_MOBILE); $this->arrOrder = $this->lfGetOrderHistory($customer_id, $this->objNavi->start_row); switch ($this->getMode()) { case 'getList': echo Utils::jsonEncode($this->arrOrder); Application::alias('eccube.response')->actionExit(); break; default: break; } // 支払い方法の取得 $this->arrPayment = Application::alias('eccube.helper.payment')->getIDValueList(); // 1ページあたりの件数 $this->dispNumber = SEARCH_PMAX; $this->json_payment = Utils::jsonEncode($this->arrPayment); $this->json_customer_order_status = Utils::jsonEncode($this->arrCustomerOrderStatus); }
public function lfMakeSelect() { return 'fnSetClassCategories(' . 'document.form1, ' . Utils::jsonEncode($this->objFormParam->getValue('classcategory_id2')) . '); '; }
/** * 表示用フォームパラメーター取得 * - 確認画面 * * @param UploadFile $objUpFile UploadFileインスタンス * @param UploadFile $objDownFile UploadFileインスタンス * @param array $arrForm フォーム入力パラメーター配列 * @return array 表示用フォームパラメーター配列 */ public function lfSetViewParam_ConfirmPage(&$objUpFile, &$objDownFile, &$arrForm) { // カテゴリ表示用 $arrForm['arrCategoryId'] = $arrForm['category_id']; // hidden に渡す値は serialize する $arrForm['category_id'] = Utils::jsonEncode($arrForm['category_id']); // 画像ファイル用データ取得 $arrForm['arrFile'] = $objUpFile->getFormFileList(IMAGE_TEMP_URLPATH, IMAGE_SAVE_URLPATH); // ダウンロード商品実ファイル名取得 $arrForm['down_realfilename'] = $objDownFile->getFormDownFile(); return $arrForm; }
/** * * @param Product $objProduct * @param FormParam $objFormParam * @return void */ public function doDefault(&$objProduct, &$objFormParam) { //商品一覧の表示処理 $strnavi = $this->objNavi->strnavi; // 表示文字列 $this->tpl_strnavi = empty($strnavi) ? ' ' : $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; $js_fnOnLoad = ''; // 商品ステータスを取得 $this->productStatus = $this->arrProducts['productStatus']; unset($this->arrProducts['productStatus']); $this->tpl_javascript .= 'eccube.productsClassCategories = ' . Utils::jsonEncode($objProduct->classCategories) . ';'; if (Application::alias('eccube.display')->detectDevice() === DEVICE_TYPE_PC) { //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 (!Utils::sfIsInt($this->arrForm['product_id']) || !Application::alias('eccube.helper.db')->isRecord('dtb_products', 'product_id', $this->arrForm['product_id'], 'del_flg = 0 AND status = 1')) { Utils::sfDispSiteError(PRODUCT_NOT_FOUND); } // 入力内容のチェック $arrErr = $this->lfCheckError($objFormParam); if (empty($arrErr)) { $this->lfAddCart($this->arrForm); // 開いているカテゴリーツリーを維持するためのパラメーター $arrQueryString = array('category_id' => $this->arrForm['category_id']); Application::alias('eccube.response')->sendRedirect(CART_URL, $arrQueryString); Application::alias('eccube.response')->actionExit(); } $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(); '; }
/** * @param string $response_outer_name */ public function sendResponseJson($response_outer_name, &$arrResponse) { if (isset($arrResponse["callback"])) { $callback = $arrResponse["callback"]; unset($arrResponse["callback"]); header('Content-Type: application/javascript; charset=UTF-8'); $arrResponse['response_name'] = $response_outer_name; echo $callback . "(" . Utils::jsonEncode($arrResponse) . ")"; } else { header('Content-Type: application/json; charset=UTF-8'); $arrResponse['response_name'] = $response_outer_name; echo Utils::jsonEncode($arrResponse); } }
/** * エラーメッセージを整形し, JSON 形式で返す. * * @param array $arrErr エラーメッセージの配列 * @return string JSON 形式のエラーメッセージ */ public function lfGetErrors($arrErr) { $messages = ''; foreach ($arrErr as $val) { $messages .= $val . "\n"; } return Utils::jsonEncode(array('error' => $messages)); }
/** * Page のアクション. * * @return void */ public function action() { //決済処理中ステータスのロールバック /* @var $objPurchase PurchaseHelper */ $objPurchase = Application::alias('eccube.helper.purchase'); $objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG); /* @var $objSiteSess SiteSession */ $objSiteSess = Application::alias('eccube.site_session'); /* @var $objCartSess CartSession */ $objCartSess = Application::alias('eccube.cart_session'); /* @var $objCustomer Customer */ $objCustomer = Application::alias('eccube.customer'); $objFormParam = Application::alias('eccube.form_param'); /* @var $objDelivery DeliveryHelper */ $objDelivery = Application::alias('eccube.helper.delivery'); $this->is_multiple = $objPurchase->isMultiple(); // カートの情報を取得 $this->arrShipping = $objPurchase->getShippingTemp($this->is_multiple); $this->tpl_uniqid = $objSiteSess->getUniqId(); $cart_key = $objCartSess->getKey(); $this->cartKey = $cart_key; $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess); // 配送業者を取得 $this->arrDeliv = $objDelivery->getList($cart_key); $this->is_single_deliv = $this->isSingleDeliv($this->arrDeliv); $this->is_download = $this->cartKey == PRODUCT_TYPE_DOWNLOAD; // 会員情報の取得 if ($objCustomer->isLoginSuccess(true)) { $this->tpl_login = '******'; $this->tpl_user_point = $objCustomer->getValue('point'); $this->name01 = $objCustomer->getValue('name01'); $this->name02 = $objCustomer->getValue('name02'); } // 戻り URL の設定 // @deprecated 2.12.0 テンプレート直書きに戻した $this->tpl_back_url = '?mode=return'; $arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid); // 正常に受注情報が格納されていない場合はカート画面へ戻す if (Utils::isBlank($arrOrderTemp)) { Application::alias('eccube.response')->sendRedirect(CART_URL); Application::alias('eccube.response')->actionExit(); } // カート内商品の妥当性チェック $this->tpl_message = $objCartSess->checkProducts($cart_key); if (strlen($this->tpl_message) >= 1) { Application::alias('eccube.response')->sendRedirect(CART_URL); Application::alias('eccube.response')->actionExit(); } /* * 購入金額の取得 * ここでは送料を加算しない */ $this->arrPrices = $objCartSess->calculate($cart_key, $objCustomer); // お届け日一覧の取得 $this->arrDelivDate = $objPurchase->getDelivDate($objCartSess, $cart_key); switch ($this->getMode()) { /* * 配送業者選択時のアクション * モバイル端末以外の場合は, JSON 形式のデータを出力し, ajax で取得する. */ case 'select_deliv': $this->setFormParams($objFormParam, $arrOrderTemp, true, $this->arrShipping); $objFormParam->setParam($_POST); $this->arrErr = $objFormParam->checkError(); if (Utils::isBlank($this->arrErr)) { $deliv_id = $objFormParam->getValue('deliv_id'); $arrSelectedDeliv = $this->getSelectedDeliv($objCartSess, $deliv_id); $arrSelectedDeliv['error'] = false; } else { $arrSelectedDeliv = array('error' => true); $this->tpl_mainpage = 'shopping/select_deliv.tpl'; // モバイル用 } if (Application::alias('eccube.display')->detectDevice() != DEVICE_TYPE_MOBILE) { echo Utils::jsonEncode($arrSelectedDeliv); Application::alias('eccube.response')->actionExit(); } else { $this->arrPayment = $arrSelectedDeliv['arrPayment']; $this->arrDelivTime = $arrSelectedDeliv['arrDelivTime']; } break; // 登録処理 // 登録処理 case 'confirm': // パラメーター情報の初期化 $this->setFormParams($objFormParam, $_POST, $this->is_download, $this->arrShipping); $this->arrErr = $this->lfCheckError($objFormParam, $this->arrPrices['subtotal'], $this->tpl_user_point); if (empty($this->arrErr)) { $this->saveShippings($objFormParam, $this->arrDelivTime); $this->lfRegistData($this->tpl_uniqid, $objFormParam->getDbArray(), $objPurchase, $this->arrPayment); // 正常に登録されたことを記録しておく $objSiteSess->setRegistFlag(); // 確認ページへ移動 Application::alias('eccube.response')->sendRedirect(SHOPPING_CONFIRM_URLPATH); Application::alias('eccube.response')->actionExit(); } else { $deliv_id = $objFormParam->getValue('deliv_id'); if (strval($deliv_id) !== strval(intval($deliv_id))) { $deliv_id = $this->arrDeliv[0]['deliv_id']; $objFormParam->setValue('deliv_id', $deliv_id); } $arrSelectedDeliv = $this->getSelectedDeliv($objCartSess, $deliv_id); $this->arrPayment = $arrSelectedDeliv['arrPayment']; $this->arrDelivTime = $arrSelectedDeliv['arrDelivTime']; $this->img_show = $arrSelectedDeliv['img_show']; } break; // 前のページに戻る // 前のページに戻る case 'return': // 正常な推移であることを記録しておく $objSiteSess->setRegistFlag(); $url = null; if ($this->is_multiple) { $url = MULTIPLE_URLPATH . '?from=multiple'; } elseif ($objCustomer->isLoginSuccess(true)) { if ($this->cartKey == PRODUCT_TYPE_DOWNLOAD) { $url = CART_URL; } else { $url = DELIV_URLPATH; } } else { $url = SHOPPING_URL . '?from=nonmember'; } Application::alias('eccube.response')->sendRedirect($url); Application::alias('eccube.response')->actionExit(); break; default: // FIXME 前のページから戻ってきた場合は別パラメーター(mode)で処理分岐する必要があるのかもしれない $this->setFormParams($objFormParam, $arrOrderTemp, $this->is_download, $this->arrShipping); if (!$this->is_single_deliv) { $deliv_id = $objFormParam->getValue('deliv_id'); } else { $deliv_id = $this->arrDeliv[0]['deliv_id']; } if (!Utils::isBlank($deliv_id)) { $objFormParam->setValue('deliv_id', $deliv_id); $arrSelectedDeliv = $this->getSelectedDeliv($objCartSess, $deliv_id); $this->arrPayment = $arrSelectedDeliv['arrPayment']; $this->arrDelivTime = $arrSelectedDeliv['arrDelivTime']; $this->img_show = $arrSelectedDeliv['img_show']; } break; } // モバイル用 ポストバック処理 if (Application::alias('eccube.display')->detectDevice() == DEVICE_TYPE_MOBILE && Utils::isBlank($this->arrErr)) { $this->tpl_mainpage = $this->getMobileMainpage($this->is_single_deliv, $this->getMode()); } $this->arrForm = $objFormParam->getFormParamList(); }
/** * 現在の階層のパスをテンプレートに渡す * * @param FormParam $objFormParam FormParamインスタンス * @return void */ public function setDispPath($objFormParam) { // Windows 環境で DIRECTORY_SEPARATOR が JavaScript に渡るとエスケープ文字と勘違いするので置換 $html_realdir = str_replace(DIRECTORY_SEPARATOR, '/', HTML_REALDIR); $arrNowDir = preg_split('/\\//', str_replace($html_realdir, '', $objFormParam->getValue('now_dir'))); $this->setDispParam('tpl_now_dir', Utils::jsonEncode($arrNowDir)); $this->setDispParam('tpl_file_path', $html_realdir); }
/** * Page のアクション. * * @return void */ public function action() { /* @var $objDb DbHelper */ $objDb = Application::alias('eccube.helper.db'); /* @var $objCategory CategoryHelper */ $objCategory = Application::alias('eccube.helper.category'); $this->tpl_pageno = isset($_POST['pageno']) ? $_POST['pageno'] : ''; // 通常時は親カテゴリを0に設定する。 $this->arrForm['parent_category_id'] = isset($_POST['parent_category_id']) ? $_POST['parent_category_id'] : 0; $this->arrForm['product_id'] = isset($_POST['product_id']) ? $_POST['product_id'] : ''; switch ($this->getMode()) { case 'up': $this->lfRankUp($objDb, $this->arrForm['parent_category_id'], $this->arrForm['product_id']); break; case 'down': $this->lfRankDown($objDb, $this->arrForm['parent_category_id'], $this->arrForm['product_id']); break; case 'move': $this->lfRankMove($objDb, $this->arrForm['parent_category_id'], $this->arrForm['product_id']); break; case 'tree': // カテゴリの切替は、ページ番号をクリアする。 $this->tpl_pageno = ''; break; case 'renumber': $this->lfRenumber($this->arrForm['parent_category_id']); break; default: break; } $this->arrTree = $objCategory->getTree(); $this->arrParentID = $objCategory->getTreeTrail($this->arrForm['parent_category_id']); $this->arrProductsList = $this->lfGetProduct($this->arrForm['parent_category_id']); $arrBread = $objCategory->getTreeTrail($this->arrForm['parent_category_id'], FALSE); $this->tpl_bread_crumbs = Utils::jsonEncode(array_reverse($arrBread)); }
/** * 規格クラス用JavaScript生成 * @param Product $objProduct */ public function getTplJavascript(Product &$objProduct) { return 'eccube.productsClassCategories = ' . Utils::jsonEncode($objProduct->classCategories) . '; '; }
/** * Page のAction. * * @return void */ public function action() { /* @var $objCustomer Customer */ $objCustomer = Application::alias('eccube.customer'); $customer_id = $objCustomer->getValue('customer_id'); /* @var $objAddress AddressHelper */ $objAddress = Application::alias('eccube.helper.address'); /* @var $objFormParam FormParam */ $objFormParam = Application::alias('eccube.form_param'); $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); $objFormParam->convParam(); switch ($this->getMode()) { // お届け先の削除 case 'delete': if ($objFormParam->checkError()) { Utils::sfDispSiteError(CUSTOMER_ERROR); Application::alias('eccube.response')->actionExit(); } if (!$objAddress->deleteAddress($objFormParam->getValue('other_deliv_id'), $customer_id)) { Utils::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を削除できませんでした。'); Application::alias('eccube.response')->actionExit(); } break; // スマートフォン版のもっと見るボタン用 // スマートフォン版のもっと見るボタン用 case 'getList': $arrData = $objFormParam->getHashArray(); //別のお届け先情報 $arrOtherDeliv = $objAddress->getList($customer_id, ($arrData['pageno'] - 1) * SEARCH_PMAX); //県名をセット $arrOtherDeliv = $this->setPref($arrOtherDeliv, $this->arrPref); $arrOtherDeliv['delivCount'] = count($arrOtherDeliv); $this->arrOtherDeliv = $arrOtherDeliv; echo Utils::jsonEncode($this->arrOtherDeliv); Application::alias('eccube.response')->actionExit(); break; // お届け先の表示 // お届け先の表示 default: break; } //別のお届け先情報 $this->arrOtherDeliv = $objAddress->getList($customer_id); //お届け先登録数 $this->tpl_linemax = count($this->arrOtherDeliv); // 1ページあたりの件数 $this->dispNumber = SEARCH_PMAX; }
/** * Page のアクション. * * @return void */ public function action() { $objFormParam = Application::alias('eccube.form_param'); /* @var $objCategory CategoryHelper */ $objCategory = Application::alias('eccube.helper.category'); // 入力パラメーター初期化 $this->initParam($objFormParam); $objFormParam->setParam($_POST); $objFormParam->convParam(); switch ($this->getMode()) { // カテゴリ登録/編集実行 case 'edit': $this->doEdit($objFormParam); break; // 入力ボックスへ編集対象のカテゴリ名をセット // 入力ボックスへ編集対象のカテゴリ名をセット case 'pre_edit': $this->doPreEdit($objFormParam); break; // カテゴリ削除 // カテゴリ削除 case 'delete': $this->doDelete($objFormParam); break; // 表示順を上へ // 表示順を上へ case 'up': $this->doUp($objFormParam); break; // 表示順を下へ // 表示順を下へ case 'down': $this->doDown($objFormParam); break; // FIXME r19909 によってテンプレートが削除されている // FIXME r19909 によってテンプレートが削除されている case 'moveByDnD': // DnDしたカテゴリと移動先のセットを分解する $keys = explode('-', $_POST['keySet']); if ($keys[0] && $keys[1]) { $objQuery = Application::alias('eccube.query'); $objQuery->begin(); // 移動したデータのrank、level、parent_category_idを取得 $rank = $objQuery->get('rank', 'dtb_category', 'category_id = ?', array($keys[0])); $level = $objQuery->get('level', 'dtb_category', 'category_id = ?', array($keys[0])); $parent = $objQuery->get('parent_category_id', 'dtb_category', 'category_id = ?', array($keys[0])); // 同一level内のrank配列を作成 $objQuery->setOption('ORDER BY rank DESC'); if ($level == 1) { // 第1階層の時 $arrRet = $objQuery->select('rank', 'dtb_category', 'level = ?', array($level)); } else { // 第2階層以下の時 $arrRet = $objQuery->select('rank', 'dtb_category', 'level = ? AND parent_category_id = ?', array($level, $parent)); } for ($i = 0; $i < sizeof($arrRet); $i++) { $rankAry[$i + 1] = $arrRet[$i]['rank']; } // 移動したデータのグループ内データ数 $my_count = $this->lfCountChilds($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $keys[0]); if ($rankAry[$keys[1]] > $rank) { // データが今の位置より上がった時 $up_count = $rankAry[$keys[1]] - $rank; $decAry = $objQuery->select('category_id', 'dtb_category', 'level = ? AND rank > ? AND rank <= ?', array($level, $rank, $rankAry[$keys[1]])); foreach ($decAry as $value) { // 上のグループから減算 $this->lfDownRankChilds($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $value['category_id'], $my_count); } // 自分のグループに加算 $this->lfUpRankChilds($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $keys[0], $up_count); } elseif ($rankAry[$keys[1]] < $rank) { // データが今の位置より下がった時 $down_count = 0; $incAry = $objQuery->select('category_id', 'dtb_category', 'level = ? AND rank < ? AND rank >= ?', array($level, $rank, $rankAry[$keys[1]])); foreach ($incAry as $value) { // 下のグループに加算 $this->lfUpRankChilds($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $value['category_id'], $my_count); // 合計減算値 $down_count += $this->lfCountChilds($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $value['category_id']); } // 自分のグループから減算 $this->lfDownRankChilds($objQuery, 'dtb_category', 'parent_category_id', 'category_id', $keys[0], $down_count); } $objQuery->commit(); } break; // カテゴリツリークリック時 // カテゴリツリークリック時 case 'tree': break; // CSVダウンロード // CSVダウンロード case 'csv': // CSVを送信する /* @var $objCSV CsvHelper */ $objCSV = Application::alias('eccube.helper.csv'); $objCSV->sfDownloadCsv('5', '', array(), '', true); Application::alias('eccube.response')->actionExit(); break; default: break; } $parent_category_id = $objFormParam->getValue('parent_category_id'); // 空の場合は親カテゴリを0にする if (empty($parent_category_id)) { $parent_category_id = 0; } // 親カテゴリIDの保持 $this->arrForm['parent_category_id'] = $parent_category_id; // カテゴリツリーを取得 $this->arrTree = $objCategory->getTree(true); $this->arrParentID = $objCategory->getTreeTrail($parent_category_id); // カテゴリ一覧を取得 $this->arrList = $objCategory->getTreeBranch($parent_category_id); // ぱんくずの生成 $arrBread = $objCategory->getTreeTrail($this->arrForm['parent_category_id'], FALSE); $this->tpl_bread_crumbs = Utils::jsonEncode(array_reverse($arrBread)); }