Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


nazar

Recommended Posts

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


  • 5 months later...

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

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

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

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

Надіслати
Поділитися на інших сайтах


  • 2 months later...

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

header.php

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

header.tpl

<?php echo $email; ?>
Надіслати
Поділитися на інших сайтах


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

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

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

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Добрый день,

Если вместо

<?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, в принципе, для гостей сайта.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

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

Открываем \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>';

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

Надіслати
Поділитися на інших сайтах


  • 6 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.