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

Смена надписи "Личный кабинет" (в шапке магазина) на имя покупателя после авторизации


Recommended Posts

Пользователю зачастую сложно догадаться произошла авторизация или нет, т.к. визуально на сайте ничего не меняется. 

Нашёл следующее несложное решение по замене надписи "Личный кабинет" (в шапке магазина) на имя покупателя после авторизации 

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

1. Открываем файл catalog/view/theme/default/template/common/header.tpl и находим строки, отвечающие за вывод самого пункта меню + выпадающего списка:

Код

<li class="dropdown"><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a>
<ul class="dropdown-menu dropdown-menu-right">
<?php if ($logged) { ?>
<li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
<li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
<li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
<li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
<li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
<?php } else { ?>
<li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
<li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
<?php } ?>
</ul>
</li>

и меняем на следующий код:

<li class="dropdown">
<?php if (!$logged) { ?>
<a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a>
<ul class="dropdown-menu dropdown-menu-right">
<?php if ($logged) { ?>
<li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
<li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
<li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
<li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
<li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
<?php } else { ?>
<li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
<li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
<?php } ?>
</ul>
<?php } else { ?>
<i class="fa fa-user"></i> <?php echo $text_logged; ?>
<?php } ?>
</li>

Открываем файл catalog/language/russian/common/header.php и после строки:
$_['text_login'] = 'Авторизация';

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

Если покупатель выйдет из личного кабинета, то в шапке магазина снова будет видна вкладка «Личный кабинет» с двумя подпунктами, которые будут предлагать либо зарегистрироваться, либо авторизоваться.

 

Но у меня вывод пункта Личный кабинет немного другой.

<div class="btn-group box-account">
				<button data-toggle="dropdown" type="button" class="dropdown-toggle btn btn-link">
				<i class="fa fa-user"></i>
				<span class="hidden-xs hidden-sm"><?php echo $text_account; ?></span> <span class="caret"></span>		
				</button>
			<ul class="dropdown-menu dropdown-menu-right">
				<?php if ($logged) { ?>
				<li><a rel="nofollow" href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
				<?php } else { ?>
				<li><a rel="nofollow" href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
				<li><a rel="nofollow" href="#login_modal_popup" data-toggle="modal" data-target="#login-form-popup"><?php echo $text_login; ?></a></li>
				<?php } ?>
			</ul>
		</div>

И решение работает не совсем адекватно
Буду благодарен за помощь в адаптации  применительно к моему шаблону.

 

до изменений.jpg

после изменений.jpg

Змінено користувачем Redje
Надіслати
Поділитися на інших сайтах


32 минуты назад, AndreyPopov сказал:

на скриншотах видно, что после изменения кода у вас не выводится выпадающее меню?


Да, у меня меню не выводиться и при клике на Имя пользователя ничего не происходит. Потому и пишу, что:

 

4 часа назад, Redje сказал:

Буду благодарен за помощь в адаптации  применительно к моему шаблону.


 

Змінено користувачем Redje
Надіслати
Поділитися на інших сайтах


On 7/2/2018 at 3:08 PM, Redje said:

Буду благодарен за помощь в адаптации  применительно к моему шаблону.

 

Доброго времени суток! Делал следующим образом:

Код в header.tpl

<li class="dropdown">
          <?php if (!$logged) { ?>
          <a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm"><?php echo $text_account; ?></span> <span class="caret"></span></a>
          <?php } else { ?>
            <a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm"></i><?php echo $firstname; ?> <?php echo $lastname; ?></span> <span class="caret"></span></a>
          <?php } ?>
          <ul class="dropdown-menu dropdown-menu-left">
            <?php if ($logged) { ?>
            <li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
            <li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
            <li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
            <?php } else { ?>
            <li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
            <li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
            <?php } ?>
          </ul>
        </li>

Добавить в контроллер header.php после

$data['text_account'] = $this->language->get('text_account');

Две переменные:

$data['firstname'] = $this->customer->getFirstName();
$data['lastname'] = $this->customer->getLastName();

Когда пользователь залогинился - вместо Личный кабинет, будет выводиться Имя + Фамилия с сохранением выпадающего списка!

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


  • 6 months later...
  • 9 months later...
В 02.07.2018 в 15:08, Redje сказал:

Пользователю зачастую сложно догадаться произошла авторизация или нет, т.к. визуально на сайте ничего не меняется. 

Нашёл следующее несложное решение по замене надписи "Личный кабинет" (в шапке магазина) на имя покупателя после авторизации 

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

1. Открываем файл catalog/view/theme/default/template/common/header.tpl и находим строки, отвечающие за вывод самого пункта меню + выпадающего списка:

Код


<li class="dropdown"><a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a>
<ul class="dropdown-menu dropdown-menu-right">
<?php if ($logged) { ?>
<li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
<li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
<li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
<li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
<li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
<?php } else { ?>
<li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
<li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
<?php } ?>
</ul>
</li>

и меняем на следующий код:


<li class="dropdown">
<?php if (!$logged) { ?>
<a href="<?php echo $account; ?>" title="<?php echo $text_account; ?>" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $text_account; ?></span> <span class="caret"></span></a>
<ul class="dropdown-menu dropdown-menu-right">
<?php if ($logged) { ?>
<li><a href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
<li><a href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
<li><a href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
<li><a href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
<li><a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
<?php } else { ?>
<li><a href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
<li><a href="<?php echo $login; ?>"><?php echo $text_login; ?></a></li>
<?php } ?>
</ul>
<?php } else { ?>
<i class="fa fa-user"></i> <?php echo $text_logged; ?>
<?php } ?>
</li>

Открываем файл catalog/language/russian/common/header.php и после строки:
$_['text_login'] = 'Авторизация';

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

Если покупатель выйдет из личного кабинета, то в шапке магазина снова будет видна вкладка «Личный кабинет» с двумя подпунктами, которые будут предлагать либо зарегистрироваться, либо авторизоваться.

 

Но у меня вывод пункта Личный кабинет немного другой.


<div class="btn-group box-account">
				<button data-toggle="dropdown" type="button" class="dropdown-toggle btn btn-link">
				<i class="fa fa-user"></i>
				<span class="hidden-xs hidden-sm"><?php echo $text_account; ?></span> <span class="caret"></span>		
				</button>
			<ul class="dropdown-menu dropdown-menu-right">
				<?php if ($logged) { ?>
				<li><a rel="nofollow" href="<?php echo $account; ?>"><?php echo $text_account; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $order; ?>"><?php echo $text_order; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $transaction; ?>"><?php echo $text_transaction; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $download; ?>"><?php echo $text_download; ?></a></li>
				<li><a rel="nofollow" href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>
				<?php } else { ?>
				<li><a rel="nofollow" href="<?php echo $register; ?>"><?php echo $text_register; ?></a></li>
				<li><a rel="nofollow" href="#login_modal_popup" data-toggle="modal" data-target="#login-form-popup"><?php echo $text_login; ?></a></li>
				<?php } ?>
			</ul>
		</div>

И решение работает не совсем адекватно
Буду благодарен за помощь в адаптации  применительно к моему шаблону.

 

до изменений.jpg

после изменений.jpg

 

Спасибо!

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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