Задать вопрос
@skdon

$items = $this->cart->getProducts() Выдает пустой массив. Почему?

День добрый!
В файле контроллера /catalog/controller/checkout/success.php мне нужно получить данные о товаре в корзине.
Пишу такой код
$items = $this->cart->getProducts();
В итоге получаю пустой массив. Подскажите, пожалуйста, почему?
  • Вопрос задан
  • 835 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Здравствуйте. Я не очень знаком с opencart, но чисто логически судя по тому что вы пытаетесь достать товары в контроллере успешной оплаты, то у вас это вряд ли получится, так как по идее корзина уже должна быть очищена.
Немного погуглив я нашёл такие вещи как:
$this->session->data['order_id'] - последний заказ пользователя я так понимаю из которого мы можем сделать вот такое:
$this->load->model('account/order');
$order_id = $this->session->data['order_id'];
$products = $this->model_account_order->getOrderProducts($order_id);

Плюс по тому же гуглу я вижу что там в какой то версии в checkout/success.php есть $this->cart->clear();
Если вы делаете после этого, тогда я думаю всё понятно. Если получится запихните ваш код до этой строчки, либо попробуйте использовать то что я в самом начале описал.
Повторюсь что я в общем то не знаком с opencart и мои найденные решения могут вам не помочь из за просто не той версии cms, но я пытался =)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы