Меняем логин на имя в верхней панели пользователя после авторизации

Для того что бы в верхней панели вместо логина выводилось имя нужно открыть файл header_top.tpl в папке с темой
найти строчку №38 (пример на теме developer):
<li><a href="{$oUserCurrent->getUserWebPath()}" class="author">{$oUserCurrent->getLogin()}</a> / </li>


и заменить на (пример на теме developer):
<li><a href="{$oUserCurrent->getUserWebPath()}" class="author">{$oUserCurrent->getProfileName()}</a> / </li>


ДЛЯ ТЕМЫ new.
Ищем строчку №36:
<li><a href="{$oUserCurrent->getUserWebPath()}" class="author">{$oUserCurrent->getLogin()}</a> (<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/exit/">{$aLang.exit}</a>)</li>


и меняем на:
<li><a href="{$oUserCurrent->getUserWebPath()}" class="author">{$oUserCurrent->getProfileName()}</a> (<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_LOGIN}/exit/">{$aLang.exit}</a>)</li>

14 комментариев

avatar
А что будет если не будет имени? Как бывает в 90% случаев. Тогда что будет?
и еще — если есть имя — можно ли его вставлять в комментариях? А при клике естественно попадать на site.ru/my/username
вот тогда было бы очень здорово!
avatar
Очевидно, что:

{if $oUserCurrent->getProfileName()}
    {$oUserCurrent->getProfileName()}
{else}
    {$oUserCurrent->getLogin()}
{/if}

так реализовано (это пеар!) на Паззле: www.citypuzzle.ru/ (левая колонка, где аватарки пользователей)
avatar
да можно.
а имя надо делать обязательном полем
avatar
напишу позже
avatar
а можно сделать поле имя IF — что если оно есть показывать его, а если нет показывать просто ник. Я думаю так было бы реальнее, обязательные поля должны быть только необходимые, пользователи ведь ленивые.
avatar
Да в любой социалки по мне должны быть имя указанно или как к человеку обращаться: Привет hello! Это типа масло масленое;)
Будет время может ночью посмотрю
Пока не делал себе как сделаю выложу
avatar
Спасибо большое! Я еще давно задавал тут вопрос об этом, но никто так и не ответил, очевидно решение слишком сложное..=)

Только при регистрации имя надо сделать обязательным.
avatar
Да не сложное…
Я с ЛС играюсь 3 дня…
Вернее ночи;)
avatar
А как в комментариях заменить?
<a href="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_PROFILE}/{$aComment.obj->getUserLogin()}/" class="author">{$aComment.obj->getUserLogin()}</a>


Меняю на {$oUserCurrent->getProfileName()}, и получаю одно имя у всех комментов О_о
avatar
ну а вы как хотели? :) $oUserCurrent — это залогиненый пользователь, то есть вы :)
Посмотрите как реализованы пол пользователя в коментариях, там все аналогично :)
avatar
Для меня это темный лес, может вы знаете, что нужно вставить вместо {$aComment.obj->getUserLogin()}?
avatar
в TopicComment.entity.class.php
public function getUserProfileName() {
        return $this->_aData['user_profile_name'];

в TopicComment.mapper.class.php
ищем по тексту
u.user_profile_avatar as user_profile_avatar,

после добавляем
u.user_profile_name as user_profile_name,


и потом уже в темплейт камментов вставляете
$aComment.obj->getUserProfileName()

avatar
Спасибо!
avatar
У кого-то получилось? Я все как написано сделал, 0 реакции… :(
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.