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 に答える