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

Вывод залогинившегося пользователя? [решено]

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

Добрый день всем.

Может кто-нибуть задавался проблемой вывода залогинившегося пользователя, например в хедере.

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

Заранее спасибо.

Вопрос не актуален, уже разобрался, спасибо

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


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

Ну ты расскажи тут как разобрался.

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


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

Здравствуйте.

Делаем вывод имени залогиненого пользователя например в хэдере:

1. Открываем файл catalog\controller\common\header.php

2. Вставляем следующий код:

после: $this->data['logged'] = $this->customer->isLogged();

$this->data['firstname'] = $this->customer->getFirstName();$this->data['lastname'] = $this->customer->getLastName();
перед: $this->data['login'] = HTTPS_SERVER . 'index.php?route=account/login';

он сформирует нам две переменные содержащие имя и фамилию пользователя, доступные в шаблоне хэдера.

3. Открываем файл catalog\view\theme\вашатема\template\common\header.tpl

В нужном вам месте выводите полученные переменные, у меня это сделано так:

<?php  if ($firstname) echo 'Вы вошли как: <b>'.$firstname.' '.$lastname.'</b> <a href="/index.php?route=account/logout">[выйти]</a>';  else echo '<a href="/index.php?route=account/login">Войти в личный кабинет</a>';?>

Образец того, как это работает можно увидеть здесь: androidipad.ru

Вот так, ничего сложного, дерзайте...

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


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

gexagen, напиши пожалуйста кусок кода как у тебя вставлено в header.tpl, а то чето у меня не получается, не силен в php.

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


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

gexagen, напиши пожалуйста кусок кода как у тебя вставлено в header.tpl, а то чето у меня не получается, не силен в php.

header.php

$this->data['email'] = $this->customer->getEmail();

header.tpl

<?php echo $email; ?>

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


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

gexagen, напиши пожалуйста кусок кода как у тебя вставлено в header.tpl, а то чето у меня не получается, не силен в php.

Хм. До переезда форума на новый движок все было чики-пуки (в тексте моего сообщения), а вот после переезда оно превратилось в какой-то хлам :( Интересно, другие полезные решения тоже пострадали подобным образом?

Поправил ручками, смотрите выше.

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


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

Добрый день,

Если вместо

<?php

if ($firstname) echo 'Вы вошли как: <b>'.$firstname.' '.$lastname.'</b> <a href="/index.php?route=account/logout">[выйти]</a>';

else echo '<a href="/index.php?route=account/login">Войти в личный кабинет</a>';

?>

вставить

<?php if ($firstname) echo'<p> <SCRIPT LANGUAGE="JavaScript"> var h=(new Date()).getHours(); if (h > 3 && h < 12) document.writeln("Доброе утро!");if (h > 11 && h < 19) document.writeln("Добрый день!"); if (h > 18 && h < 24) document. writeln("Добрый вечер!");if (h > 23 || h < 4 ) document.writeln("Привет полуночникам !") ;</SCRIPT><b>'.$firstname.' '.$lastname.'</b></p>'; ?>

получится

Приветствие в зависимости от времени суток.Время и текст редактируйте по своему усмотрению.

  • +1 1

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


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

спасибо за подсказку! я вставила чуть иначе и, наверное, проще. Поскольку у меня приветствие-вход в шапке сайта, то я просто изменила строки в языковых файлах

в catalog-language-russian-common-header.php строка выглядит так:

$_['text_logged']    = '<SCRIPT LANGUAGE="JavaScript"> var h=(new Date()).getHours(); if (h > 3 && h < 12) document.writeln("Доброе утро, ");if (h > 11 && h < 19) document.writeln("День добрый, "); if (h > 18 && h < 24) document. writeln("Добрый вечер, ");if (h > 23 || h < 4 ) document.writeln("Доброй ночи, ") ;</SCRIPT> <a href="%s">%s</a> :) | <a href="%s">Выйти</a>';

И выводит в хэдере днём, к примеру, текст: "Доброе утро, Марина Ивановна :) | Выйти"

ну и для английского, соответственно в catalog-language-english-common-header.php будет так:

  $_['text_logged']    = '<SCRIPT LANGUAGE="JavaScript"> var h=(new Date()).getHours(); if (h > 3 && h < 12) document.writeln("Good morning, ");if (h > 11 && h < 19) document.writeln("Good day, "); if (h > 18 && h < 24) document. writeln("Good evening, ");if (h > 23 || h < 4 ) document.writeln("Good night, ") ;</SCRIPT> <a href="%s">%s</a> :) | <a href="%s">Logout</a>';

К примеру, вечером: "Good evening, Марина Ивановна :) | Logout"

Можно так же поиграться и с $text_welcome, в принципе, для гостей сайта.

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


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

Мутно все у вас тут! Все гораздо проще.

Открываем \catalog\controller\common\header.php

Ищем, где написано про text_logged

$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'));

В этом месте формируется тот самый text_logged. И тут мы видим только 1 значение - FirstName - ну не красиво же, "Вы вошли как Василий", что за фамильярность.

Поэтому мы добавим еще один get - LastName

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

Теперь у нас 4 переменных, формируемых запросом text_logged

Открываем языковый файл \catalog\language\russian\common\header.php

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

добавляем еще одну %s - как раз в то место, где идет имя

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

Все, готово. По такому же принципу можно и емайл вывести.

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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