バージョン選択

フォーラム

メニュー

オンライン状況

69 人のユーザが現在オンラインです。 (50 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 69
もっと...

サイト内検索

質問 > フロント機能 > お気に入りを、任意の設定カテゴリに分けて、登録できるように

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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





スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,290名です
総投稿数は109,689件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.