質問 > 管理機能 > カテゴリー単位で送料を無料にしたい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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']; } という記述を追加することで取得できました。 お邪魔してしまい申し訳ありませんでした。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |