ФОРУМ PS-Studio.Info

  • Страница 1 из 1
  • 1
Форум » Форум по uCoz: работа с сайтом - дополнения и изменения » Модуль Форум » Вид материалов » Отображение статуса пользователя в сообщениях форума (Визуальное отображение статуса онлайн/оффлайн)
Отображение статуса пользователя в сообщениях форума
Дата: Сб, 07.04.2018, 22:22 Сообщение # 1
ps-studio
Администраторы


Стандартно, в сообщениях форума, статус пользователя отображается строкой, типа Статус: Онлайн или Статус: Оффлайн.
Гораздо более информативным и интересным, на мой взгляд, является решение, при котором тот или иной статус отображается иконкой различного цвета, например, зелёной, если пользователь в онлайн, и красной,если отсутствует.
Рассмотрим реализацию такого решения.

1. В Панели управления сайтом войдите в Управление дизайном - Редактирование шаблонов и выберите Форум - Вид материалов.
Пример стандартного кода данного шаблона:

Код

<table border="0" width="100%" cellspacing="1" cellpadding="2" class="postTable">
<tr><td width="23%" class="postTdTop" align="center"><a class="postUser" href="javascript://" rel="nofollow" onClick="emoticon('[b]$USERNAME$[/b],');return false;">$USERNAME$</a></td><td class="postTdTop"><?if($AWARDS_DO_URL$ && $USER_LOGGED_IN$ && $CUR_USER_ID$!=$UID$)?><div style="float:right"><a href="javascript://" rel="nofollow" onclick="new _uWnd('AwD','Вручить награду',380,200,{autosize:1,maxh:300},{url:'/index/55-$UID$-28-forum-$FID$_$TID$_$ID$_16_$TIMESTAMP$'});return false;"><img alt="" src="/.s/img/icon/thumbu.png" width="13" border="0" title="Хороший пост"></a> <a href="javascript://" rel="nofollow" onclick="new _uWnd('AwD','Вручить награду',380,200,{autosize:1,maxh:300},{url:'/index/55-$UID$-47-forum-$FID$_$TID$_$ID$_16_$TIMESTAMP$'});return false;"><img alt="" src="/.s/img/icon/thumbd.png" width="13" border="0" title="Плохой пост"></a></div><?endif?>Дата: $WDAY$, $DATE$, $TIME$ | Сообщение # $NUMBER$</td></tr>
<tr><td class="postTdInfo" valign="top">
<?if($AVATAR_URL$)?><img alt="" title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?>
<?if($USER_TITLE$)?><div class="postRankName">$USER_TITLE$</div><?else?><div class="postRankName">$USER_RANK_NAME$</div><?endif?>

<?if($GROUP_ICON$)?><div class="postRankIco">$GROUP_ICON$</div><?else?><div class="postRankIco">$USER_RANK_ICON$</div><?endif?>
<?if($GROUP_NAME$)?><div class="postUserGroup">Группа: $GROUP_NAME$</div><?endif?>
<?if($POSTS$)?><div class="numposts">Сообщений: <span="unp">$POSTS$</span></div><?endif?>
<?if($AWARDS_READ_URL$)?><div class="reputation">Награды: <a href="$AWARDS_READ_URL$" title="Список наград"><span class="repNums"><b>$AWARDS$</b></span></a> <?if($AWARDS_DO_URL$)?> <a href="$AWARDS_DO_URL$"><span style="font-size:10pt" title="Вручить награду"><b>+</b></span></a><?endif?><?endif?>
<?if($READ_REP_URL$)?><div class="reputation">Репутация: <a title="Смотреть историю репутации" class="repHistory" href="$READ_REP_URL$"><b>$REP_RATING$</b></a> <?if($DO_REP_URL$)?>  <a class="reputationDo" title="Изменить репутацию" href="$DO_REP_URL$"><span style="font-size:10pt"><b>±</b></span></a></div><?endif?><?endif?>
<?if($READ_BAN_URL$)?><div class="userBan">Замечания: <a class="banPercent" title="Смотреть историю замечаний" href="$READ_BAN_URL$">$BAN_RATING$</a> <?if($DO_BAN_URL$)?>  <a title="Изменить уровень замечаний" class="banDo" href="$DO_BAN_URL$">±</a></div><?endif?><?endif?>
<?if($USER_STATUS$)?><div class="statusBlock">Статус: $USER_STATUS$</div><?endif?>
<?if($GROUP_ID$)?> <?else?><br><br><br><br><br><?endif?>
</td><td class="posttdMessage" valign="top" style="word-wrap: break-word;">$MESSAGE$
<?if($ATTACHMENT$)?> <div align="left" class="eAttach">Прикрепления: $ATTACHMENT$</div><?endif?>
<?if($SIGNATURE$)?><br><hr size="1" width="150" align="left" class="signatureHr"><span class="signatureView">$SIGNATURE$</span><?endif?>
<?if($EDITEDBY$)?><br><br><div class="edited">Сообщение отредактировал $EDITEDBY$</div><?endif?></td></tr>
<tr><td class="postBottom" align="center"><?if($USER_IP$)?><div class="postip">[ <a class="postIpLink" href="https://apps.db.ripe.net/search/query.html?searchtext=$USER_IP$" target="_blank">$USER_IP$</a><?if($POST_COUNTRY_ID$)?> (<a href="javascript://" rel="nofollow" onclick='prompt("","$POST_COUNTRY$");return false;'>$POST_COUNTRY_ID$</a>)<?endif?> ]</div><?else?> <?endif?></td><td class="postBottom">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr><td>$USER_DETAILS_ICON_BAR$</td><td align="right" style="padding-right:15px;">$ENTRY_MANAGE_ICON_BAR$</td><td width="2%" nowrap align="right">$ON_TOP_ICON$$DEL_ENTRY_FIELD$</td></tr>
</table></td></tr></table>


Здесь нас интересует вот этот участок кода:

Код

<?if($AVATAR_URL$)?><img alt="" title="$USERNAME$" class="userAvatar" border="0" src="$AVATAR_URL$"><?endif?>


Заменим его на следующий:

Код

<?if($AVATAR_URL$)?>
<div class="avatar avatar-inline"><img alt="" title="$USERNAME$" src="$AVATAR_URL$">
<?if($USER_STATUS$='<span class="statusOnline">Online</span>')?><i class="avatar-status bg-success"></i><?else?>
<i class="avatar-status bg-danger"></i><?endif?>
</div><?endif?>


А вот данную строку из стандартного шаблона удалите:

Код

<?if($USER_STATUS$)?><div class="statusBlock">Статус: $USER_STATUS$</div><?endif?>


Сохраните изменения, внесённые в шаблон.

2. В таблицу стилей CSS добавьте следующие стили:

Код

.avatar {position:relative;width:100px;height:100px}
.avatar.avatar-inline{display:inline-block;vertical-align:bottom}
.avatar img{border-radius:50%;width:100%;display:block}
.avatar .avatar-status{position:absolute;display:block;border:2px solid #fff;
border-radius:100%;z-index:12}
.avatar .avatar-status{width:16px;height:16px;top:3px;right:6px}
.bg-danger{background-color:#CB3D4A}
.bg-success{background-color:#84b547}


Сохраните изменения, внесённые в шаблон.

3. Зайдите в раздел "Замена стандартных надписей", выберите в списке пункт "Пользователи" и поменяйте в полях текст "Онлайн" и "Оффлайн" на Online и Offline соответственно.
Сохраните изменения.

По сути всё. Теперь в сообщениях форума статус пользователей, оставивших сообщения, будет отображаться так, как он показан на скриншоте в начале этой темы.
Прикрепления: 8450307.jpg(106.1 Kb)
профиль www Вверх
Форум » Форум по uCoz: работа с сайтом - дополнения и изменения » Модуль Форум » Вид материалов » Отображение статуса пользователя в сообщениях форума (Визуальное отображение статуса онлайн/оффлайн)
  • Страница 1 из 1
  • 1
Поиск:

Хостинг от uCoz