@Akmal_23ram
web dev

Как вывести имя покупателя на шапке в Opencart?

Добрый день, господа
Мне дали задачу вывести имя и фамилию авторизованного пользователя в определённое место на шапке. Я гуглил и много раз. Нашел разные способы, перепробовал их и ничего не получилось.
Я в одном из решений было сказано так:
В header.php в папке по пути opencart/catalog/controller/common/ и добавить строки:
$data['firstname'] = $this->customer->getFirstName();
      $data['lastname'] = $this->customer->getLastName();

И в header.tpl по пути opencart/catalog/view/theme/mytheme/template/common/
<?php echo $firstname; ?>
      <?php echo $lastname; ?>

Я так и сделал. Сервер отвечает что переменные undefined. Может быть эти строки нужно прописать где то в другом месте.
Подскажите пожалуйста господа.
  • Вопрос задан
  • 881 просмотр
Пригласить эксперта
Ответы на вопрос 1
@liza2019
проверте сначала в контроллере переменные определены или нет
выше этой строчки
$data['firstname'] = $this->customer->getFirstName();
для верности проверить еще $this->customer->getId()
пропишите
echo $this->customer->isLogged()."-".$this->customer->getId()."-".$this->customer->getFirstName()."-".$this->customer->getLastName(); exit;

больше чем уверена что выдаст пустоту, скорее всего вы проверяете не авторизовавшись как покупатель.
я бы написала в контроллере так для уверенности
if ($this->customer->isLogged()) {
$data['firstname'] = $this->customer->getFirstName();
$data['lastname'] = $this->customer->getLastName();
} else {
$data['firstname'] = '';
$data['lastname'] = '';
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы