Перейти к содержанию
krashman

Вывести company вместо firstname после авторизации

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

после входа в личный кабинет выходит сообщение в хидере:

image.png.8024aee9c0a919357f712c37641819cd.png

"Антон" - firstname , указанный при регистрации

также при регистрации заполняется поле company , в которое указывается юр.название компании, например "ИП Иванов А.А."

 

подскажите, как вывести вместо "Вы вошли как FirstName" на "Вы вошли как Company"

 

в файле языка header.php:

$_['text_logged']   = 'Вы вошли как <a href="%s">%s</a> <b>(</b><a href="%s">Выйти</a><b>)</b>';

какие-то %s вместо привычных переменных

 

в controller header.php тоже залез, должно быть эта строка отвечает за то, что мне надо:

		$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $this->customer->getFirstName(), $this->url->link('account/logout', '', 'SSL'));

если менять getFirstName на getLastName , то вместо имени выводится фамилия - ок.

а если поменять getFirstName на getCompany, то сайт падает с 500 ошибкой.

 

подскажите, пожалуйста, как правильно нужно внести изменения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, krashman сказал:

подскажите, пожалуйста, как правильно нужно внести изменения?

 

Вам нужно добавить в библиотеку customer

лежит или в system/library или в system/library/cart

company и метод

но company в таблице address

 

я бы получил в контроллере header.php

 $this->customer->getAddressId()  id адреса ,потом подключил модель account/address и через getAddress достал бы company

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, spectre сказал:

 

Вам нужно добавить в библиотеку customer

лежит или в system/library или в system/library/cart

company и метод

но company в таблице address

 

я бы получил в контроллере header.php

 $this->customer->getAddressId()  id адреса ,потом подключил модель account/address и через getAddress достал бы company

 

 

да уж
думал попроще будет)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, krashman сказал:

думал попроще будет)

$sql = $this->db->query("SELECT  `company` FROM `". DB_PREFIX ."oc_address` WHERE `customer_id` = '" .$this->customer->getId()."'");
$company = $sql->row['company'];

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $company, $this->url->link('account/logout', '', 'SSL'));

 

  • +1 1

Поделиться сообщением


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

 

1 час назад, fanatic сказал:

$sql = $this->db->query("SELECT  `company` FROM `". DB_PREFIX ."oc_address` WHERE `customer_id` = '" .$this->customer->getId()."'");
$company = $sql->row['company'];

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $company, $this->url->link('account/logout', '', 'SSL'));

 

спасибо! 

теперь как надо

 

за исключением того, если не пользователь не авторизован висит notice в шапке: 

Undefined index: company

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, krashman сказал:

за исключением того, если не пользователь не авторизован висит notice в шапке: 

if ($this->customer->isLogged()) {
    $sql = $this->db->query("SELECT  `company` FROM `". DB_PREFIX ."oc_address` WHERE `customer_id` = '" .$this->customer->getId()."'");
    $customer_data = $sql->row['company'];
} else {
    $customer_data = $this->customer->getFirstName();
}

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $customer_data, $this->url->link('account/logout', '', 'SSL'));

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, fanatic сказал:

if ($this->customer->isLogged()) {
    $sql = $this->db->query("SELECT  `company` FROM `". DB_PREFIX ."oc_address` WHERE `customer_id` = '" .$this->customer->getId()."'");
    $customer_data = $sql->row['company'];
} else {
    $customer_data = $this->customer->getFirstName();
}

$this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->url->link('account/account', '', 'SSL'), $customer_data, $this->url->link('account/logout', '', 'SSL'));

 

теперь отлично работает!

спасибо

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.