Объединяем в профиле пользователя Статус и Последний визит

+33
1.41K
Здравствуйте, вот решил сделать небольшое улучшение, не факт что всем понравится, но все-таки выкладываю:

Объединяем "Статус" и "Последний визит" в профиле

для этого необходимо в файле components/users/frontend.php найти:
  1. $usr['status'] = ($usr['status'] == $usr['id'] ? '<span class="online">'.$_LANG['ONLINE'].'</span>' : '<span class="offline">'.$_LANG['OFFLINE'].'</span>');
и заменить на:
  1. $usr['status'] = ($usr['status'] == $usr['id'] ? '<span class="online">'.$_LANG['ONLINE'].'</span>' : '');
теперь в templates/_default_/components/com_users_profile.tpl находим:
  1. <div class="field">
  2. <div class="title">{$LANG.STATUS}:</div>
  3. <div class="value">{$usr.status}</div>
  4. </div>
  5. <div class="field">
  6. <div class="title">{$LANG.LAST_VISIT}:</div>
  7. <div class="value">{$usr.flogdate}</div>
  8. </div>
и заменяем на:
  1. <div class="field">
  2. <div class="title">{if $usr.status}{$LANG.STATUS}:{/if}{if !$usr.status}{$LANG.LAST_VISIT}:{/if}</div>
  3. <div class="value">{if $usr.flogdate}{$usr.flogdate}{/if}</div>
  4. </div>
Теперь когда пользователь онлайн, то показывается: Статус: онлайн;
Ну а если пользователь оффлайн, то покажет: Последний визит: 1000000 часов назад
И все это занимает одну строчку, вместо двух!
Скриншот не выкладываю, и так должно быть понятно!
+4
alex alex 9 лет назад #
Ставлю +
Пригодится. Хороший хак.
+7
Олег Олег 9 лет назад #
Хорошее дополнение
ещё можно добавить {if $usr.gender == 'f'}Была {else} Был {/if}{$usr.flogdate}
0
VopisUVD VopisUVD 9 лет назад #
так, а как-обычно свой статус можно ставить?
-2
Максим Шорин Максим Шорин 9 лет назад #
+1
nikitka nikitka 9 лет назад #
Имеется ввиду "статус" нахождения пользователя на сайте-онлайн или оффлайн..
0
VopisUVD VopisUVD 9 лет назад #
семена семеновна.... а я то думал... да давно в профиль не заглядывал...
0
nikitka nikitka 9 лет назад #
Как можно тоже самое переделать для друзей тех что в профиле выводятся?
0
Олег Олег 9 лет назад #
а в профиле друзья помоему и так выводятся если онлайн то онлайн если нет то время последнего визита
+1
nikitka nikitka 9 лет назад #
Изначально неправильно задал вопрос!Просто не хочу выводить последний визит-а сделать только онлайн!
УЖЕ ВОПРОС РЕШИЛ СРЕДСТВАМИ CSS!
+1
CROSS &#12484; CROSS ツ 9 лет назад #
Можно добавить ещё, чтобы когда пользователь был онлайн, последний везит не отображался, а когда оффлайн отображался и статус и последний визит.

Добавить перед
Код PHP:
<div class="field">
<div class="title">{if $usr.status}{$LANG.STATUS}:{/if}{if !$usr.status}{$LANG.LAST_VISIT}:{/if}</div>
<div class="value">{if $usr.flogdate}{$usr.flogdate}{/if}</div>
</div>
это
Код PHP:
{if !$usr.status}
						<div class="field">
							<div class="title">{$LANG.STATUS}:</div>
							<div class="value"><span class="offline">{$LANG.OFFLINE}</span></div>
						</div>
						{/if}
результат
0
iLoveNY iLoveNY 9 лет назад #
А у меня вкладки после этого хака перестали работать
0
CROSS &#12484; CROSS ツ 9 лет назад #
Какая версия движка? Этот хак никак не затрагивает вкладки!
Ещё какие-нибудь хаки применяли? возможен конфликт скриптов.
0
La Time La Time 7 лет назад #
Классный хак, спасибо!
Правда, пришлось сделать его немного по-другому, т.к. после установки хака статус "Онлайн" стал отображаться просто на белом фоне, а не на зелёном как раньше.
Поправил так:
Внёс правку в components/users/frontend.php, как было указано выше.
В файле com_users_profile.tpl заменил:
Код PHP:
  1. <div class="field">
  2. <div class="title">{$LANG.STATUS}:</div>
  3. <div class="value">{$usr.status}</div>
  4. </div>
  5. <div class="field">
  6. <div class="title">{$LANG.LAST_VISIT}:</div>
  7. <div class="value">{$usr.flogdate}</div>
  8. </div>
на:
Код PHP:
  1. {if !$usr.status}
  2. <div class="field">
  3. <div class="title">{$LANG.STATUS}:</div>
  4. <div class="value"><span class="offline">{$LANG.OFFLINE}</span></div>
  5. </div>
  6. {else}
  7. <div class="field">
  8. <div class="title">{$LANG.STATUS}:</div>
  9. <div class="value"><span class="online">{$LANG.ONLINE}</span></div>
  10. </div>
  11. {/if}
  12. {if !$usr.status}
  13. <div class="field">
  14. <div class="title">{$LANG.LAST_VISIT}:</div>
  15. <div class="value">{$usr.flogdate}</div>
  16. </div>
  17. {/if}
...и всё стало отображаться как положено.

Еще от автора

Определение возраста пользователя по дате рождения для 1.10
Продолжаем переделывать улучшения для 1.10 Определяем возраст пользователя по его дате рождения
Новое поле: семейное положение (исходя от пола) для 1.10
Здравствуйте, решил выложить переделку Семейное положение для версии 1.10.
Определение возраста пользователя по дате рождения
Решил поделиться небольшим улучшением, делал для себя, может кому-то пригодиться!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.