我正在使用prestashop 1.6并且我在类/ Cart.php中创建了一个函数,这个项目计入购物车中,但这些项目是没有折扣或降价的产品。
/* @return int Cart Item not on_sale
*/
public function getTotalItems()
{
$total_items = 0;
$total_items = (int)Db::getInstance()->getValue('
SELECT SUM(`quantity`)
FROM `'._DB_PREFIX_.'cart_product`
WHERE `id_cart` = '.(int)$id
'AND p.`active` <> 1 AND p.on_sale <> 1'
);
return $total_items;
}
这是shopping-cart.tpl的电话
{$ cart-&GT; getTotalItems()|逃逸: 'htmlall': 'UTF-8' | number_format:0}
但是回报是0,当然在我的篮子里我有没有折扣的产品。
有什么问题?
答案 0 :(得分:0)
(int)$id
将始终为0,因为它未定义。您需要使用$this->id
来获取购物车ID。
$total_items = (int)Db::getInstance()->getValue('
SELECT SUM(`quantity`)
FROM `'._DB_PREFIX_.'cart_product`
WHERE `id_cart` = '.(int)$this->id.
' AND p.`active` <> 1 AND p.on_sale <> 1'
);