バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
allure
投稿日時: 2015/8/4 15:15
対応状況: −−−
半人前
登録日: 2014/1/21
居住地:
投稿: 18
Re: 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・
その後、いろいろ試してみているのですが思うように動かず、
いっそのこと、カートの中身を表示するページでは
プレゼントを表示しない(削除してしまう)ようにしようと考えました。
(最終画面でのプレゼント追加は問題なく動いているので。)

そこで、LC_Page_Cart_Ex.php ファイルで、
ページを表示する前にプレゼントがあれば削除しようと試みましたが、
上手く行かず、ならば、表示した後、商品の削除や数量を減らした時に
消してしまえないかと、switch の case down と delete に挿入してみました。

これをテストしたところ、既にカートに入っている商品を操作してもプレゼントは削除されず、
新たに商品を追加した後に、いずれかの商品(先にカートにあった商品でも)を削除 or 減数した場合は
プレゼントが削除されました。

恐らく、最初の問題もここにありそうです。(^_^;)
プレゼント追加の後に、新たに商品がカートに追加されたか否かで動作が変わります。
これについて、何か対処方法はありますでしょうか?

▼ LC_Page_Cart_Ex.php の action の一部(★追加部分を挿入)

switch ($this->mode) {
	case 'confirm':
		// カート内情報の取得
		$cartList = $objCartSess->getCartList($cartKey);
		// カート商品が1件以上存在する場合
		if (count($cartList) > 0) {
			// カートを購入モードに設定
			$this->lfSetCurrentCart($objSiteSess, $objCartSess, $cartKey);

			 // 購入ページへ
			SC_Response_Ex::sendRedirect(SHOPPING_URL);
			SC_Response_Ex::actionExit();
		}
		break;

	case 'up'://1個追加
		$objCartSess->upQuantity($cart_no, $cartKey);

		SC_Response_Ex::reload($arrQueryString, true);
		SC_Response_Ex::actionExit();
		break;

	case 'down'://1個減らす
		$objCartSess->downQuantity($cart_no, $cartKey);

		// プレゼントがカートに入っていたら削除する ----------- ★追加
		$this->deletePresent($cartKey);

		SC_Response_Ex::reload($arrQueryString, true);
		SC_Response_Ex::actionExit();
		break;

	case 'setQuantity'://数量変更
		$objCartSess->setQuantity($objFormParam->getValue('quantity'), $cart_no, $cartKey);

		SC_Response_Ex::reload($arrQueryString, true);
		SC_Response_Ex::actionExit();
		break;

	case 'delete'://カートから削除
		$objCartSess->delProduct($cart_no, $cartKey);

		// プレゼントがカートに入っていたら削除する ----------- ★追加
		$this->deletePresent($cartKey);

		SC_Response_Ex::reload($arrQueryString, true);
		SC_Response_Ex::actionExit();
		break;

	default:
		break;
}


▼ 作成した deletePresent

// プレゼントがカートに入っていれば削除する
public function deletePresent($cartKey)
{
	$cam_present_product = '528'; // プレゼント商品の product_class_id を指定
	$objCartSess = new SC_CartSession_Ex();
	$product_class_id_incart = $objCartSess->getAllProductClassID($cartKey);
	$present_incart = in_array($cam_present_product, $product_class_id_incart);
	if ($present_incart === true) {
		$objCartSess->delProductKey('id', $cam_present_product, $cartKey);
	}
}
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・ allure 2015/7/30 19:27
     Re: 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・ yuh 2015/7/30 22:57
       Re: 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・ allure 2015/7/31 17:43
     » Re: 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・ allure 2015/8/4 15:15
         Re: 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・ yuh 2015/8/5 1:11
           Re: 条件を満たせば自動的にプレゼントを追加することは、出来たのですが・・・ allure 2015/8/5 15:40

 



ログイン


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

統計情報

総メンバー数は89,244名です
総投稿数は110,059件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1299
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.