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

Как вывести на страницу мною созданную переменную(Opencart)? Что отвечает за вывод переменных в файле common/header.tpl?

Мне надо вывести имя нового(залогинившегося) клиента в header.tpl. Первым шагом решил пойти в контроллер и создать там переменную со случайным содержимым, вывести на страницу. В контроллере, глядя на то как задаются другие переменные, пишу:
$data['customer_name'] = 'Sergey';
или
$this->data['customer_name'] = 'Sergey';

Вывожу как echo $customer_name; в tpl-ке. На выходе получаю:
Undefined variable: customer_name in /vqmod/vqcache/vq2-catalog_view_theme_default_template_common_header.tpl

Беру любую другую переменную из контроллера, которая задаётся так же - все гуд.
Файлы, которые редактирую: catalog/view/theme/default/template/common/header.tpl
/catalog/controller/common/header.php
Что я сделал не так?
P.S. Есть подозрения, что за вывод переменных в этом tpl файле отвечает не только header.php из контроллера. От куда могут еще задаваться переменные в этом случае?
  • Вопрос задан
  • 1760 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@opencart-russia
Русское сообщество OpenCart
Для начала сообщите какая версия OpenCart
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@urfinjazz
ошибка
Undefined variable: customer_name in /vqmod/vqcache/ ...
говорит о том, что вы должны почистить кэш, т.е. удалить содержимое vqcache
Ответ написан
clean_code
@clean_code
Программист-сис.админ
Так чем вопрос то разрешился? Такая же проблема!
Ответ написан
@iurii12345
В header.php
if ($this->customer->isLogged()) {
  $data['welcome_message'] = sprintf("Добро пожаловать, %s!", $this->customer->getFirstName());
		}

В header.tpl
<div><?php if (isset($welcome_message)) { echo $welcome_message; } ?></div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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