我正在开发Opencart 2.x中的购物车。
一切都很顺利但我被困在一个地方我需要cart.tpl
下拉菜单,而不是在更新购物车按钮的输入框中显示数量。
我已经调查了cart.php
的控制器,但无法确定从何处获取数量。
代码调查如下:
$data['products'][] = array(
'cart_id' => $product['cart_id'],
'thumb' => $image,
'name' => $product['name'],
'model' => $product['model'],
}
我尝试在这里添加数量,但无法使用cart.tpl。
然后我决定检查购物车add()
功能并获取数量,如下所示:
public function add() {
$this->load->model('catalog/product');
$product_info = $this->model_catalog_product->getProduct($product_id);
$data['qty'] = sprintf($product_info['quantity']);
// I added this data line
}
但即便如此,在cart.tpl上做echo $qty
也没有任何帮助。
有什么建议吗?
答案 0 :(得分:1)
首先打开system \ library \ cart \ cart.php并找到以下代码行:
$product_data[] = array(
'cart_id' => $cart['cart_id'],
'product_id' => $product_query->row['product_id'],
在这些代码行下面添加以下行:
'product_quantity' => $product_query->row['quantity'],
第二个打开控制器目录\ controller \ checkout \ cart.php并找到以下代码行:
$data['products'][] = array(
'cart_id' => $product['cart_id'],
在这些代码行下面添加以下行:
'product_quantity'=>$product['product_quantity'],
最后在catalog / view / theme / YOUR_ACTIVATED_THEME / template / checkout / cart.tpl中找到以下代码行
<td class="text-left">
<div class="input-group btn-block" style="max-width: 200px;">
<input type="text" name="quantity[<?php echo $product['cart_id']; ?>]"
value="<?php echo $product['quantity']; ?>" size="1" class="form-control"/>
<span class="input-group-btn">
<button type="submit" data-toggle="tooltip" title="<?php echo $button_update; ?>"
class="btn btn-primary"><i class="fa fa-refresh"></i></button>
<button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>"
class="btn btn-danger" onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i
class="fa fa-times-circle"></i></button>
</span></div>
</td>
替换为以下代码:
<!--Changes done-->
<td class="text-left">
<div class="input-group btn-block" style="max-width: 200px;">
<select name="quantity[<?php echo $product['cart_id']; ?>]"
onchange='this.form.submit()'>
<?php for($cp=1; $cp<=$product['product_quantity']; $cp++){ ?>
<option
<?php if($product['quantity']==$cp){ echo "selected"; } ?>
value="<?php echo $cp; ?>"><?php echo $cp; ?></option>
<?php } ?>
</select>
<span class="input-group-btn">
<button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>"
class="btn btn-danger" onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i
class="fa fa-times-circle"></i></button>
</span>
</div>
</td>
<!--End of Changes done-->
您可以从以下链接下载更改的文件,查看更改以及查看图片中的演示: https://webocreation.com/blog/dropdown-quantity-product-cart-page-opencart-2-2