Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


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

Edited by Redje
Link to post
Share on other sites

22 минуты назад, anboza сказал:

так а в итоге, что должно получиться?

НА скриншотах же видно

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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


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

 

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

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


 

Edited by Redje
Link to post
Share on other sites

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();

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

Link to post
Share on other sites

  • 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

 

Спасибо!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.