Не знаю на сколько актуально, сам мучился, искал, нашел много решений для 1.5.х
а на Opencart 2.0.х делается так:
в \catalog\controller\common\cart.php
ищи
$data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
меняй на
$data['text_items'] = sprintf($this->language->get('text_items'), $this->cart->hasProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
и в \catalog\controller\checkout\cart.php
ищи
$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
меняй на
$json['total'] = sprintf($this->language->get('text_items'), $this->cart->hasProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));