バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カートの中のチェックで該当商品を削除したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
taron
投稿日時: 2013/2/6 9:16
対応状況: −−−
半人前
登録日: 2013/2/2
居住地:
投稿: 13
カートの中のチェックで該当商品を削除したい
SC_CartSession.phpの
* カート内の商品の妥当性をチェックする.
のfunction checkProducts($productTypeId,$yparams) {
・・・・・・・・・・・・・
}
のエラーチェックを追加しているのですが、
該当商品をカートから削除が出来ません。

もともとここにはエラーチェックで対象商品をカートから
削除する構文があるのでそちらを流用しているのですが、
稼動しない形です。

こちらご指南いただければと思います。
宜しくお願いします。



// カート内の情報を取得
$items = $this->getCartList($productTypeId);
foreach (array_keys($items) as $key) {
$item =& $items[$key];

if (SC_Utils_Ex::isBlank($product)) {
$this->delProduct($item['cart_no'], $productTypeId);
$tpl_message .= "※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。\n";
} else {

if(追加したエラー条件) {
→ここにはちゃんと来ています。
$this->delProduct($item['cart_no'], $productTypeId);
}
}
}
DELIGHT
投稿日時: 2013/2/6 9:57
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: カートの中のチェックで該当商品を削除したい
エラー条件がtrueなら、全く問題ないように見えますね。
SC_CartSession::delProduct()内でprint_rやexitで
調べてみてはどうでしょう?


※質問の際にはEC-CUBEのバージョンを書き添えると親切です。


----------------
+ DAISY inc. -------------------- +
EC-CUBE構築・カスタマイズサービス
EC・WEB構築などお気軽にご相談ください。

デイジー株式会社
http://daisy.link/

taron
投稿日時: 2013/2/6 10:08
対応状況: 開発中
半人前
登録日: 2013/2/2
居住地:
投稿: 13
Re: カートの中のチェックで該当商品を削除したい
ご連絡いただきましてありがとうございます。

SC_CartSession::delProduct()内でprint_r($cart_no)を使用してみたところ、対象商品のカートNoは取れているみたいです。

カートの中には2つ商品が入っていて、削除したい商品の$cart_noは2と表示されていたのに対し、$productTypeIdの値が1でした。
(カートに入った2つめの商品の削除がしたいです。)
もしかしてこちらが原因でしょうか。

どうぞ宜しくお願いします。
taron
投稿日時: 2013/2/6 10:13
対応状況: 開発中
半人前
登録日: 2013/2/2
居住地:
投稿: 13
Re: カートの中のチェックで該当商品を削除したい
すいません。

補足としまして、
Ec-CUBEのバージョンは2.11.5 になります。
DELIGHT
投稿日時: 2013/2/6 10:41
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: カートの中のチェックで該当商品を削除したい
例えば上記のコードを

//if (SC_Utils_Ex::isBlank($product)) {
if (true) {
$this->delProduct($item['cart_no'], $productTypeId);
$tpl_message .= "※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。\n";
} else {
省略

このようにした場合、正常に削除されますでしょうか?
削除されなければ、カスタマイズによって予期せぬ引数が指定されているか、
そもそも本体コードが間違っていることになります。

また、SC_CartSession::delProduct()内の各部で変数をダンプすることで
unset()が意図した通りに動作しているかどうか確認できます。

余談ですが、print_r($var)では見づらいという時には
SC_Utils_Ex::sfPrintR($var)で整形済みのダンプができますのでご参考下さい。

詳しく調査する時間がないので、解決方法の指針で失礼します。


----------------
+ DAISY inc. -------------------- +
EC-CUBE構築・カスタマイズサービス
EC・WEB構築などお気軽にご相談ください。

デイジー株式会社
http://daisy.link/

taron
投稿日時: 2013/2/6 15:37
対応状況: 解決済
半人前
登録日: 2013/2/2
居住地:
投稿: 13
Re: カートの中のチェックで該当商品を削除したい
解決方法の指針ありがとうございます!

何とかできました!

どうもありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1294
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.