コントローラとビューを変更せずに.tplファイルをチェックインして、バスケットが空かどうかを確認するグローバルな方法はありますか?これは常に機能するとは限りません。
$cartItems = $this->cart->countProducts();
if ($cartItems < 0) {
print "Your cart is empty"
}
ログインすると、時にはゲストとして機能するように見えますか?
はるかに優れた解決策は、電話するだけです
if ( ! $this->cart->hasProducts()) {
print "Your cart is empty";
}
これははるかに迅速で、カート内の製品数を直接参照します。
このメソッド$this->cart->countProducts()
は、カート内の製品をカウントしませんが、カート内の製品の合計数を計算します。したがって、すべての製品をカートにロードし、ループで各製品の数量を追加します。したがって、速度は遅くなります - それほど遅くはありません。違いを認識できないかもしれませんが、少し遅くなります (カート内の製品が多いほど、ループが原因で速度が遅くなります)。
$cart_contents = $this->cart->countProducts();
if ($cart_contents === 0) {
print "Your cart is empty"
}