Вчера мой приятель предложил разработать небольшой хак для мини-чата - возможность отбора сообщений пользователя. Бывают случаи, когда какому-то пользователю нужно посмотреть все сообщения какого-нибудь пользователя. Проматывать всю историю сообщений с ручным отловом - не очень удобно. Данный хак позволяет одним кликом выделить все сообщения конкретного пользователя нужным цветом, а сообщения остальных пользователей скрыть. Также ники всех остальных пользователей станут прозрачными для более удобного отлова
Установка:
Работать будем с Видом материала мини-чата:
1#: Найдите у себя приблизительно следующий участок кода (Ник пользователя + иконка профиля):
|
<?if($USERNAME$)?><a href="$PROFILE_URL$" title="$USERNAME$" rel="nofollow"><img alt="" src="http://s36.ucoz.net/img/icon/profile.png" width="13" border="0" style="vertical-align:-2px"/></a> <?endif?> <a href="javascript:void('Apply to')" onclick="parent.window.document.getElementById('mchatMsgF').focus();parent.window.document.getElementById('mchatMsgF').value+='[i]$NAME$[/i], ';return false;"><b>$NAME$</b></a> |
Замените это на:
|
<span id="logn" class="logn$USER_ID$"> <?if($USERNAME$)?><a href="$PROFILE_URL$" title="$USERNAME$" rel="nofollow"><img alt="" src="http://s36.ucoz.net/img/icon/profile.png" width="13" border="0" style="vertical-align:-2px"/></a> <?endif?> <a href="javascript:void('Apply to')" onclick="parent.window.document.getElementById('mchatMsgF').focus();parent.window.document.getElementById('mchatMsgF').value+='[i]$NAME$[/i], ';return false;"><b>$NAME$</b></a> </span> |
Мы обрамили нкжные нам элементы в спаны с уникальным ID для последующей манипуляции с ними ( В нашем случа - изменение прозрачности при нужных нам условиях)
2#: Сразу после предыдущего кода вставляйте:
|
<a href="javascript://" class="t$USER_ID$" id="fd" onclick="$('div.cMessage').show(0);$('span.uid$USER_ID$').hide(0);$('a#t').show(0);$('span#logn').fadeTo(500 , 1);$('a#fd').show(0);"><img title="Показать все сообщения" src="/images/ftitle.png" width="10px" /></a> <a href="javascript://" id="t" onclick="$('div.cMessage').hide(0);$('span.uid$USER_ID$').show(0);$('a#t').hide(0);$('span#logn').fadeTo(500 , 0.3);$('span.logn$USER_ID$').fadeTo(500 , 1);$('a#fd').hide(0);$('a.t$USER_ID$').show(0);"><img title="Отобрать сообщения пользователя" src="/images/view.png" width="10px" /></a> |
3#: Здесь же в Виде материалов найдите приблизительно следующее:
|
<div class="cMessage" style="text-align:left;">$MESSAGE$</div> |
Если у вас $MESSAGE$ не обрамлено соответствующим образом в дивы с классом cMessage - обрамите
Сразу после этого кода вставляйте:
|
<span style="display:none;color:red;font-weight:bold;" class="uid$USER_ID$">$MESSAGE$</span> |
Залейте две картинки из прикреплённого архива в папку
images
Огромное спасибо выражаю сайту http://helper.ucoz.ru за помощь в решении некоторых вопросов
Автор публикации
12
Я не понял вашего вопроса, но постараюсь на него ответить...
Комментарии: 393Публикации: 1096Регистрация: 27-08-2018