计算购物车中不同on_sale的商品

时间:2017-04-25 00:29:49

标签: php sql shopping-cart cart prestashop-1.6

我正在使用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,当然在我的篮子里我有没有折扣的产品。

有什么问题?

1 个答案:

答案 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'
);