OpenCart 2.x — добавляем имя авторизованного покупателя в шапку магазина — «Вы вошли как …»
В OpenCart 1.5.x в шапке магазина, после того, как покупатель авторизовался, появлялась фраза приблизительно такого содержания: «Вы вошли как (имя клиента)». То есть, зайдя под своими логином и паролем, покупатель мог видеть вверху свое имя.
На мой взгляд, довольно удобно и логично. Начиная с OpenCart 2.0 этого момента в движке больше нет. Авторизован клиент или нет, а в шапке будет отображаться одна и та же фраза «Личный кабинет» с выпадающим меню. Если покупатель неавторизован, то в выпадающем меню будет два пункта «Регистрация» и «Авторизация».
Если покупатель авторизовался, то в выпадающем списке будут пункты, содержащие информацию клиента (кстати, не всегда так уж необходимую инофрмацию): личный кабинет, история заказов, транзакции, загрузки и выход.
Если вам было по душе отображаемое имя клиента в шапке магазина в версиях OpenCart 1.5.x, после того, как он вводил свои персональные данные, то можете вернуться к этому варианту даже на OpenCart 2.x. Конечно, через админку этого не сделаешь, использовать модуль я не предлагаю, придется воспользоваться кодом и привести шапку магазина к желаемому виду. Итак, приступим.
Открываем файл catalog/view/theme/default/template/common/header.tpl и находим строки, отвечающие за вывод самого пункта меню + выпадающего списка:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<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> |
и меняем на следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<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/ukrainian/common/header.php и после строки
1 |
$_['text_login'] = 'Авторизация'; |
добавляем еще одну строку
1 |
$_['text_logged'] = 'Вы вошли как <a href="%s">%s</a> <b>(</b> <a href="%s">Выйти</a> <b>)</b>'; |
И теперь в шапке видим адекватный текст с желаемым результатом: именем покупателя и ссылкой «Выйти».
Если покупатель выйдет из личного кабинета, то в шапке магазина снова будет видна вкладка «Личный кабинет» с двумя подпунктами, которые будут предлагать либо зарегистрироваться, либо авторизоваться.
На это все, спасибо за внимание к тему и посту. Удачных всем правок!
Спасибо большое,может и правда лучше оставить «Личный кабинет» ))
у меня не показывает имя …
Добрый день. Я хочу чтобы менюшка вниз открывалась.. чтобы клиент мог открыть историю своих заказов, а вверху писалось Вы вошли как ИМЯ
у меня не показывается имя, а показывается как » Вы вошли как %s ( Выйти )»
За-ме-ча-тель-но, все как в описании. Спасибо автору.