質問 > フロント機能 > カートへ商品の自動追加 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
lota |
投稿日時: 2014/4/29 14:30
対応状況: −−−
|
新米 登録日: 2014/4/18 居住地: 投稿: 7 |
カートへ商品の自動追加 度々失礼いたします。
EC-CUBE歴:初心者 EC-CUBEバージョン:2.13.1 商品を注文すると「カタログプレゼント」(商品ID=0)を自動で1つ追加しようとしているのですが、IDを指定して追加しても違う商品が追加されてしまいます。 LC_Page_Products_Detail.php function doCart()内で $objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity')); の下に $product_class_id_Catalog = $this->objFormParam->getValue('product_class_id'); $product_class_id_Catalog ['product_id'] ="1"; $objCartSess->addProduct($product_class_id_Catalog , 1); のようにしています。 こちらを参考にしましたがバージョンが違うのでダメでした。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7822&forum=10 もし、方法がわかりましたらご指導をお願いいたします。 よろしくお願いします。 |
yuh |
投稿日時: 2014/4/29 17:08
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: カートへ商品の自動追加 そのままだと、商品をカートに入れるたびにカタログが追加されるような気がします。
カートに追加する場合で $this->objFormParam->getValue('product_class_id'); ↑この部分で受け取るデータ自体はカートに入れた商品のproduct_class_idなのでその商品がカートに入っているかチェックして、入ってなければ追加する処理を入れたほうがいいと思います。 なので、LC_Page_Products_Detail_Exに
上記のコードを追加でいけると思います。 $addCartProductClassID = 14; この部分で追加する商品のproduct_class_idを設定する感じですね。 現状はテストで14を入れています。 あまりテストしてないので、確認はしてください。 |
lota |
投稿日時: 2014/4/29 17:52
対応状況: −−−
|
新米 登録日: 2014/4/18 居住地: 投稿: 7 |
Re: カートへ商品の自動追加 早速ありがとうございます!
ご指摘の通りに商品毎に追加されてしまうところでした… 早速入れ込んでみましたらいい感じに動きそうでしたが 有効な商品のIDを設定しているのですが 「※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。」 というメッセージが出てしまって追加されません… こちらでも調べてみます。 |
yuh |
投稿日時: 2014/4/29 20:02
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: カートへ商品の自動追加 IDじゃなくてproduct_class_idですね。
|
lota |
投稿日時: 2014/4/30 7:47
対応状況: −−−
|
新米 登録日: 2014/4/18 居住地: 投稿: 7 |
Re: カートへ商品の自動追加 希望通りの動きが出来ました!
ありがとうございました! IDとproduct_class_idが違うことを初めて知りました…勉強になります… 補足: 前前質問をした 「※ 現時点で販売していない商品が含まれておりました。該当商品をカートから削除しました。」 というメッセージは商品IDを指定していたために、存在しないproduct_class_idを指定したために起こったことです。 カタログ:商品ID→1 product_class_id→0 そこでproduct_class_id=1と指定したために起きたミスでした。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |