dsadsa Опубликовано: февраля 1, 2022 Жалоба Поделиться Опубликовано: февраля 1, 2022 Мне нужно на странице корзины opencart 3, вывести с помощью переменной из контроллера cart.php сумму корзины, далее я хочу с ней проводить манипуляции, а именно разделить на 1000, чтобы рассчитывать кол-во подарков, но это не так важно, проблема заключается в том, я уже сто раз попытался вывести свою переменную, но она всегда пуста. Пробовал так: $data['privet'] = $this->cart->getSubTotal(); возвращает пустое значение, потом я подсмотрел как выводится сумма товаров в корзине, {{ product.total } пытаюсь вывести ради эксперимента, но безуспешно, выводится пустое значение, также я пробовал передать в переменную любую строку и вывести, чтобы понять работает ли вообще она или нет, но ничего не выводилось, пустая строка: $data['privet'] = 'hello';. Пробовал переставлять эту переменную по различным местам файла контроллера cart.php, результата не дало (не могу понять в чём проблема т.к я делал вывод стоимости корзины в шапке, $data['privet'] = $this->cart->getSubTotal(); данной конструкции в контроллере и {{ privet }} в шаблоне хватило, всё работает должным образом, а в корзине никак. Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
OcBox Опубликовано: октября 21 Жалоба Поделиться Опубликовано: октября 21 $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. Цитата Ссылка на комментарий Поделиться на других сайтах Больше вариантов поделиться...
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.