質問 > フロント機能 > 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
soy_bean |
投稿日時: 2012/8/14 15:59
対応状況: −−−
|
新米 登録日: 2012/8/14 居住地: 投稿: 5 |
Re: 【2.12】カゴに入れた直後にカート画面に飛ばないようにすると、カートブロックの計算が狂う 詳細のほうだけですが、
「カゴに入れる」を押したときに、まだpriceの情報がカートセッションに入っていないため、カートに金額が反映されていないと思います。 カートはセッションの情報を参照して金額や数量だしているみたい。 detail.tplに <input type="hidden" name="price" value="<!--{$arrProduct.price02_min_inctax}-->" /> あたりを追加して LC_Page_Products_Detail.phpの case 'cart'内の$objCartSess->addProductにpriceを追加 $objCartSess->addProduct($product_class_id, $this->objFormParam->getValue('quantity'), $this->objFormParam->getValue('price')); SC_CartSession.phpのfunction addProductを function addProduct($product_class_id, $quantity, $price) { にして if (strlen($val) <= INT_LEN) { 内に $this->cartSession[$productTypeId][$i]['price'] = $price; if (!$find) { 内に $this->cartSession[$productTypeId][$max+1]['price'] = $price; を追加する感じで自分はごまかしました。 もっといいやり方あると思いますし、 他で使うかもしれないので元の関数は残して、 いじる関数は別名にした方がいいと思います。 |
フラット表示 | 前のトピック | 次のトピック |