3

是否有一种全局方法可以在不修改控制器和视图的情况下签入任何 .tpl 文件以查看篮子是否为空。这并不总是有效:

$cartItems = $this->cart->countProducts();
if ($cartItems < 0) {
    print "Your cart is empty"
}

它似乎在登录时工作,有时作为客人?

4

2 回答 2

4

更好的解决方案就是打电话

if ( ! $this->cart->hasProducts()) {
    print "Your cart is empty";
}

它要快得多,并且直接引用购物车中的产品数量。

该方法$this->cart->countProducts()不计算购物车内的产品,但计算购物车内的总产品件数。因此,它将所有产品加载到购物车中,并在循环中添加每个产品的数量。因此它更慢 - 不多,您甚至可能没有注意到差异 - 但它有点慢(购物车中的产品越多,由于循环越慢)。

于 2013-03-28T12:02:23.020 回答
-1
$cart_contents = $this->cart->countProducts();
if ($cart_contents === 0) {
    print "Your cart is empty"
}
于 2012-08-08T08:20:24.977 回答