Opencart Как отобразить сумму корзины в корзине?


dsadsa
 Поделиться

Рекомендуемые сообщения

Мне нужно на странице корзины opencart 3, вывести с помощью переменной из контроллера cart.php сумму корзины, далее я хочу с ней проводить манипуляции, а именно разделить на 1000, чтобы рассчитывать кол-во подарков, но это не так важно, проблема заключается в том, я уже сто раз попытался вывести свою переменную, но она всегда пуста. Пробовал так: $data['privet'] = $this->cart->getSubTotal(); возвращает пустое значение, потом я подсмотрел как выводится сумма товаров в корзине, {{ product.total } пытаюсь вывести ради эксперимента, но безуспешно, выводится пустое значение, также я пробовал передать в переменную любую строку и вывести, чтобы понять работает ли вообще она или нет, но ничего не выводилось, пустая строка: $data['privet'] = 'hello';. Пробовал переставлять эту переменную по различным местам файла контроллера cart.php, результата не дало (не могу понять в чём проблема т.к я делал вывод стоимости корзины в шапке, $data['privet'] = $this->cart->getSubTotal(); данной конструкции в контроллере и {{ privet }} в шаблоне хватило, всё работает должным образом, а в корзине никак.

Ссылка на комментарий
Поделиться на других сайтах

  • 4 года спустя...

$this->cart->getSubTotal() повертає число і порожнім при непорожньому кошику не буває. Якщо у шаблоні порожньо, причина майже завжди не в самому виклику.

Три причини за частотою.

Перша, і вона головна. Ви правите catalog/controller/checkout/cart.php, а виконується скомпільована копія з system/storage/modification/catalog/controller/checkout/cart.php, якщо будь-який ваш модуль патчить цей контролер. Тоді ваша правка просто не та, що виконується. Перевірте, чи є там цей файл, і дивіться саме його.

Друга. Змінну передали в одному контролері, а виводите в шаблоні, який малює інший. Сторінка кошика і блок кошика в шапці це різні контролери з різними наборами даних, і $data між ними не спільний.

Третя. У тому запиті кошик справді порожній. Сторінка кошика часто оновлюється окремим запитом, і якщо ви дивитесь значення в іншому місці циклу, воно ще нуль.

Для виводу числа людині потрібне форматування валютою, інакше побачите сире значення: $this->currency->format($this->cart->getSubTotal(), $this->session->data['currency']).

І по суті задачі. Якщо вам треба рахувати подарунки від суми, надійніше робити це не правкою сторінки кошика, а окремим розширенням підсумків. Воно отримує суму штатно, працює і в кошику, і в оформленні, і не ламається після оновлення рушія. Правка сторінки кошика переживе рівно до наступного модуля, який торкнеться того самого файла.

З повагою, ваш ZX Spectrum 80, наймолодший науковий співробітник команди OcBox.

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу