質問 > フロント機能 > お気に入りを、任意の設定カテゴリに分けて、登録できるように |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
miyahata |
投稿日時: 2015/4/22 3:00
対応状況: 確認中
|
新米 登録日: 2007/9/30 居住地: 投稿: 6 |
お気に入りを、任意の設定カテゴリに分けて、登録できるように ▼環境情報
EC-CUBEバージョン 2.13.1 PHPバージョン PHP 5.3.6 DBバージョン MySQL 5.5.14 ■お気に入りをカテゴリ分けして登録方法について ご教授下さい。 調べたのですが最適な物が見当たらず書き込みいたしました。 なにとぞよろしくお願いいたします。 ▼データベース dtb_customer_favorite_products cate_idを追加 ▼商品詳細ページ (data/Smarty/templates/default/products/detail.tpl) お気に入りボタン箇所を下記に変更 <!--{if '' != $smarty.session.customer.customer_id}--> <SCRIPT language="JavaScript"> <!-- // プルダウンメニュー flag = false; function pullDown() { if(flag) ID.style.visibility = "hidden"; else ID.style.visibility = "visible"; flag = !flag; } //--> </SCRIPT> <A href="java script:pullDown()"><img src="/html/img/syousai02.jpg" alt="Light Boxに入れる" width="173" height="30" style="margin-top:10px;" /></A><BR> <DIV id="ID" style="visibility:hidden;" align=center> <a href="java script:eccube.changeAction('?product_id=<!--{$arrProduct.product_id|h}-->&favorite_cate_id=1'); eccube.setModeAndSubmit('add_favorite','favorite_product_id','<!--{$arrProduct.product_id|h}-->'); eccube.setModeAndSubmit('add_favorite','favorite_cate_id','1');">カテゴリ1</a><BR> <a href="java script:eccube.changeAction('?product_id=<!--{$arrProduct.product_id|h}-->&favorite_cate_id=2'); eccube.setModeAndSubmit('add_favorite','favorite_product_id','<!--{$arrProduct.product_id|h}-->'); eccube.setModeAndSubmit('add_favorite','favorite_cate_id','2');">カテゴリ2</a><BR> </DIV> <!--{/if}--> ▼商品詳細classページ (data/class/pages/products/LC_Page_Products_Detail.php) 240行目前後 // ログイン判定 if ($objCustomer->isLoginSuccess() === true) { //お気に入りボタン表示 $this->tpl_login = true; $this->is_favorite = SC_Helper_DB_Ex::sfDataExists('dtb_customer_favorite_products', 'customer_id = ? AND product_id = ? AND cate_id = ?', array($objCustomer->getValue('customer_id'), $product_id, $favorite_cate_id)); } 370行目前後 /* パラメーター情報の初期化 */ public function lfInitParam(&$objFormParam) { $objFormParam->addParam('規格1', 'classcategory_id1', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('規格2', 'classcategory_id2', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('数量', 'quantity', INT_LEN, 'n', array('EXIST_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('管理者ログイン', 'admin', INT_LEN, 'a', array('ALNUM_CHECK','MAX_LENGTH_CHECK')); $objFormParam->addParam('商品ID', 'product_id', INT_LEN, 'n', array('EXIST_CHECK', 'ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('お気に入り商品ID', 'favorite_product_id', INT_LEN, 'n', array('ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('お気に入り商品CATE', 'favorite_cate_id', INT_LEN, 'n', array('ZERO_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('商品規格ID', 'product_class_id', INT_LEN, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); // 値の取得 $objFormParam->setParam($_REQUEST); // 入力値の変換 $objFormParam->convParam(); // 入力情報を渡す return $objFormParam->getFormParamList(); } 490行目前後 public function lfRegistFavoriteProduct($favorite_product_id, $customer_id, $favorite_cate_id) { // ログイン中のユーザが商品をお気に入りにいれる処理 if (!SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', $favorite_product_id, 'del_flg = 0 AND status = 1')) { SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND); return false; } else { $objQuery =& SC_Query_Ex::getSingletonInstance(); $exists = $objQuery->exists('dtb_customer_favorite_products', 'customer_id = ? AND product_id = ?', array($customer_id, $favorite_product_id)); if (!$exists) { $sqlval['customer_id'] = $customer_id; $sqlval['product_id'] = $favorite_product_id; $sqlval['cate_id'] = '$favorite_cate_id'; $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; $objQuery->begin(); $objQuery->insert('dtb_customer_favorite_products', $sqlval); $objQuery->commit(); } // お気に入りに登録したことを示すフラグ $this->just_added_favorite = true; return true; } } 以上変更いたしました。 お気に入りには登録されますが、データベース 「dtb_customer_favorite_products」 > 「cate_id」 には値が挿入されません。 お教えいただける方、なにとぞよろしくお願いいたします。 m(__)m |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |