バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > カテゴリー単位で送料を無料にしたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yaku
投稿日時: 2009/2/26 5:14
対応状況: −−−
新米
登録日: 2008/12/22
居住地:
投稿: 4
カテゴリー単位で送料を無料にしたい
購入時の送料の判定を、カテゴリーIDで判断し、
そのカテゴリーの商品に限り送料無料という風にしたいと思い、
data/class/helper/SC_Helper_DBに以下のようなメソッドを加え

function sfGetCatId($product_id = "") {
$objQuery = new SC_Query();
$category_id = "0";
if($product_id != "") {
$where = "product_id = ?";
$arrRet = $objQuery->select("category_id", "dtb_product_categories", $where, array($product_id));
$category_id = $arrRet[0]['category_id'];
}
return $category_id;
}

また、sfTotalConfirmメソッド内に

$category_id= $this->sfGetCatId($arrData['$product_id']);
if ($category_id == 7) {
$arrData['deliv_fee'] = 0;
}

という記述を加えました。
この場合カテゴリーIDが7だとその商品の送料を無料にするという形になります。
このような仕様を導入したいのですが、
商品のproduct_idの取得に失敗しているようで、動作しませんでした。
(引数に適当な定数を与えた場合は問題なく動作しました)
裏のセッションや一時受注テーブルの動きがよくわからず
追跡して引っ張ってくることもできませんでした。
どうやったらproduct_idをこのメソッドまで持ってこられるのでしょうか?
初心者丸出しで申し訳ありません、アドバイス頂けないでしょうか。


EC-CUBEバージョン 2.3.2
PHPバージョン PHP 4.3.10
DBバージョン PostgreSQL 8.1.4
yaku
投稿日時: 2009/2/26 18:23
対応状況: 解決済
新米
登録日: 2008/12/22
居住地:
投稿: 4
自己解決しました。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=3231&forum=10&post_id=12481#forumpost12481

こちらの記事を参考にsfTotalConfirmメソッド内に

foreach ($objCartSess->getCartList() as $arrCart) {
list($product_id) = $arrCart['id'];
}

という記述を追加することで取得できました。
お邪魔してしまい申し訳ありませんでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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