1. 首頁
  2. »
  3. 網站架設
  4. »
  5. OpenCart
  6. »
  7. 自架購物平台-OpenCart購物商城09-數量下拉不累加

自架購物平台-OpenCart購物商城09-數量下拉不累加

2011/05/17

梅問題-opencart教學-購買數量下拉不累加

  用了好一陣子的OpenCart,也修改了一些設定,讓它更符合國人使用,而最近好友小朱爸給了梅干一些小建議,除了上回跳出警訊框外,再來就是產品數量的部分,由於OpenCart在數量購買的部分,每按一次加到購物車就會一直向上累加,比方庫存量只有5筆,卻會無上限的累加上去,當要結帳時才發現數量超出的問題,所以梅干就花了點時間作點修改,並且在好友男丁的相助也順利的完成,現在就與各位來作分享。


product.tpl:
Step1
找到原來的數量位置後,將它先註解起來,並把下方的語法貼上。

路徑:catalog\view\theme\佈景名稱\template\product\product.tpl
修改程式碼:

<select name="quantity" id="quantity">
<?php for($i=1; $i<=$stock; $i++){ ?>
<option value="<?php echo $i?>" <?php if($i==1){ echo "selected=&quot;selected&quot;";} ?>><?php echo $i?></option>
<?php }?>
</select>

梅問題-opencart教學-購買數量下拉不累加


cart.php:
Step1
找到$qty後,將部分原始碼註解起來。

路徑:system\library\cart.php
修改程式碼:

public function add($product_id, $qty = 1, $options = array()) {
if (!$options) {
$key = $product_id;
} else {
$key = $product_id . ‘:’ . implode(‘.’, $options);
}

if ((int)$qty && ((int)$qty > 0)) {
 //if (!isset($this->session->data[‘cart’][$key])) {
  $this->session->data[‘cart’][$key] = (int)$qty;
 //} else {
  // $this->session->data[‘cart’][$key] += (int)$qty;
 //}
}
$this->setMinQty();
}

梅問題-opencart教學-購買數量下拉不累加


梅問題-opencart教學-購買數量下拉不累加
這樣就大功告成啦!當選擇購買數量時,除了會依照庫存量作為總數外,選完加入購物車時,只會加一次,若選擇二筆時,數就會變成2,不會像之前先選了1再換成2時,就會累加變成3,如此一來就更加的方便,也不用擔心數量超出的問題。