Главная » Функционал » Нестандартные решения » Настройка модуля "Личные сообщения"

Настройка модуля "Личные сообщения"

01.03.2012 в 00:00
Автор: TRANE73   

Здравствуйте, уважаемые пользователи системы uCoz! Если мне не изменяет память, то еще не было инструкций, подобных этой. Стандартно нам не дано возможности изменять внешний вид личных сообщений. Именно поэтому я решил написать свой шаблонизатор личных сообщений.

С помощью него можно настроить внешний вид следующих страниц:
- Список принятых сообщений
- Список отправленных сообщений
- Просмотр принятого сообщения вместе с формой ответа
- Просмотр отправленного сообщения
- Форма отправки сообщения
- Форма массовой рассылки

Теперь поподробнее об использовании. Для этого мне пришлось написать небольшой скрипт, который и реализует весь функционал шаблонизатора.

Во-первых, нам нужно обнести наш оператор $BODY$ элементом div, вот так:

Code
<div id="old_message">$BODY$</div>


Затем ниже нужно поставить данный код:

Code
<div id="umessages" style="display:none;">

<div id="message_none">
Папка пуста
</div>

<div id="inbox_list">
<div align="center">
<table width="100%" border="0"><tr>
<td width="5%">{NUMBER}</td>
<td width="65%">{SUBJECT}<br />От: {USER}</td>
<td width="25%">{DATE}</td>
<td width="5%">{MODER_PANEL}</td>
</tr></table>
</div>
</div>

<div id="outbox_list">
<div align="center">
<table width="100%" border="0"><tr>
<td width="5%">{NUMBER}</td>
<td width="65%">{SUBJECT}<br />Для: {USER}</td>
<td width="25%">{DATE}</td>
<td width="5%">{MODER_PANEL}</td>
</tr></table>
</div>
</div>

<div id="inbox">
<div>
<table width="100%" border="0"><tr><td width="110px" valign="top" align="center">
{USER_AVATAR}
</td><td valign="top">
<div style="float:right;">{DATE}</div>
{SUBJECT} (От {USER})<br /><br />
{MESSAGE}
</td></tr></table>
<hr />
[form]
Тема: {RE_SUBJECT}<br />
{BB}
<table width="100%" border="0"><tr><td width="80%">
{RE_MESSAGE}
</td><td width="20%">
{SMILES}
</td></tr></table>
<div>{CAPTCHA}</div>
{BUTTONS}
[/form]
</div>
</div>

<div id="outbox">
<div>
<table width="100%" border="0"><tr><td width="110px" valign="top" align="center">
{USER_AVATAR}
</td><td valign="top">
<div style="float:right;">{DATE}</div>
{SUBJECT} (Для {USER})<br /><br />
{MESSAGE}
</td></tr></table>
</div>
</div>

<div id="send_user">
<div>
Получатель: {USER} Тема: {SUBJECT}<br />
{BB}
<table width="100%" border="0"><tr><td width="80%">
{MESSAGE}
</td><td width="20%">
{SMILES}
</td></tr></table>
<div>{CAPTCHA}</div>
{BUTTONS}
</div>
</div>

<div id="send_all">
<div>
{USERS}<br />
Тема: {SUBJECT}<br />
{BB}
<table width="100%" border="0"><tr><td width="80%">
{MESSAGE}
</td><td width="20%">
{SMILES}
</td></tr></table>
{BUTTONS}
</div>
</div>
</div>

<script type="text/javascript" src="ссылка_на_скрипт"></script>


Нужно скачать приложенный архив, извлечь оттуда скрипт и загрузить к себе на сайт. После в самом конце вышеуказанного кода замените ссылка_на_скрипт на адрес к загруженному скрипту.

Теперь рассмотрим поподробнее все разделы. Наш шаблонизатор находится в элементе с идентификатором umessages. Далее идём по-порядку.

1) Сообщение о том, что на данной странице (принятых\отправленных) сообщений нет.


Данное сообщение нужно разместить в элементе с идентификатором message_none. В нём можно использовать HTML и не только.


2) Вид принятых сообщений.


Вид принятых сообщений нужно размещать в элементе с идентификатором inbox_list. Здесь работают несколько операторов, аналогичные операторам системы uCoz. Вот полный список:

* {NUMBER} - Порядковый номер сообщения
* {SUBJECT} - Тема сообщения
* {USER} - Отправитель (ссылка + ник)
* {DATE} - Дата и время получения
* {MODER_PANEL} - Кнопка удаления сообщения


3) Вид отправленных сообщений.


Он полностью аналогичен виду принятых сообщений. Его нужно вставлять в элемент с идентификатором outbox_list. Операторы те же, но здесь с помощью оператора {USER} выводится получатель сообщения.


4) Просмотр принятого сообщения с формой ответа.


Размещается данный вид в элементе с идентификатором inbox. Здесь уже реализовано больше возможностей. Ниже список всех операторов, доступных для данной страницы:

* {USER_AVATAR} - Аватар отправителя
* {SUBJECT} - Тема сообщения
* {USER} - Отправитель (ссылка + ник)
* {DATE} - Время получения
* {MESSAGE} - Текст сообщения

Но эти операторы нужны для вывода информации по принятому сообщению. Но здесь ниже ещё выводится форма ответа (исключая случаев с получением извещений или сообщений из массовой рассылки). Список операторов, нужных для формы ответа:

* [form][/form] - Сама форма ответа
* {RE_SUBJECT} - Поле ввода темы
* {BB} - ББ-коды
* {RE_MESSAGE} - Поле ввода сообщения
* {SMILES} - Смайлы
* {CAPTCHA} - Каптча (выводится, если она нужна)
* {BUTTONS} - Кнопки управления (Посмотреть, Отправить, Очистить)

Самое главное - использовать всегда [form][/form] для того, чтобы скрипт скрывал всё лишнее, если форма ответа не требуется.


5) Вид отправленного сообщения.


Его нужно располагать внутри элемента с идентификатором outbox. Весь код соответствует коду полученного сообщения, исключение - отстутствие формы ответа (зачем она тут? xD ), {USER} выводит получателя (ссылка + ник).


6) Форма отправки сообщения.


Заключается форма в элемент с идентификатором send_user. Операторы похожи на предыдущие. Полный список доступных операторов:

* {USER} - Поле ввода получателя
* {SUBJECT} - Поле ввода темы сообщения
* {BB} - ББ-коды
* {MESSAGE} - Поле ввода сообщения
* {SMILES} - Смайлы
* {CAPTCHA} - Каптча
* {BUTTONS} - Кнопки управления (Посмотреть, Отправить, Очистить)


7) Форма массовой рассылки.


Практически аналогична форме отправки обычного сообщения. Список операторов:

* {USERS} - Выбор получателей
* {SUBJECT} - Поле ввода темы сообщения
* {BB} - ББ-коды
* {MESSAGE} - Поле ввода сообщения
* {SMILES} - Смайлы
* {BUTTONS} - Кнопки управления (Посмотреть, Отправить, Очистить)


Чуть не забыл! Для вывода аватара отправителя/получателя.


Переходите в Главная » Управление дизайном » Редактирование шаблонов » Персональная страница пользователя и сразу после тега <body> ставите данный код:

Code
<div style="display:none;"><div id="user_avatar"><?if($_AVATAR$)?><?substr(substr($_AVATAR$,28),0,strpos(substr($_AVATAR$,28),'"'))?><?else?>http://trane73.ru/js/ls/no.png<?endif?></div></div>




Вот так легко и просто можно изменить внешний вид личных сообщений на вашем сайте. И не стоит забывать несколько главных правил:

1) Если не закрыть в нужном месте какой-нибудь элемент, то весь вид сообщений просто "поедет".
2) Не используйте каждый оператор больше 1 раза, ни к чему хорошему это не приведёт.



P.S.: Скрипт я приложил, если хотите, то можете перезалить к себе на сайт и поменять ссылку в коде.

личные сообщения, сообщения, ЛС


Прикреплённый файл: 430_ls.rar (2.4Kb)

Рейтинг: 52  (помогла ли Вам эта инструкция: да / нет)          Просмотров: 16816          Комментариев: 37

Похожие инструкции

21.08.2014 в 18:41      0  

Код
<script type="text/javascript" src="ссылка_на_скрипт"></script>

если данную строчку разместить после <body>,  то вот что будет в итоге:
http://s019.radikal.ru/i625/1408/a7/881c016b4e37.png
(но есть капча) 

А если строчку поставить перед </body> (ну или как в инструкции), то выглядит все нормально, НО пропадает капча

http://s018.radikal.ru/i514/1408/b0/5d3ded601b43.png

Что делать?
24.06.2014 в 19:52      0  

А нельзя как-то сделать, чтобы непрочитанные отображались, или хотя бы для них класс, добавить.
24.06.2014 в 23:12      0  

По-умолчанию непрочитанные сообщения всегда выделены на странице со списком сообщений. Предоставьте, пожалуйста, адрес Вашего сайта.
28.01.2014 в 19:41      0  

Мне кажется у меня что-то немного не то вставил код но там произошло не пойми что вот скрин:
http://hostingkartinok.com/show-image.php?id=2e474cba549b3bf0527590b949abe3f0
Подскажите пожалуйста что тут делать а то так на сайте нельзя не прилично.
13.02.2013 в 09:39      0  

Здравствуйте. После того как отправка ЛС изменилась на новую форму, данный скрипт стал работать некорректно.
вот скрин http://easyen.ru/disain/11.png
Как исправить?

все, исправил. Части кода удалил:
<div id="send_user"> 
<div id="send_all">
31.01.2013 в 13:43      0  

Здравствуйте.

Подскажите, как сделать модуль "изменение личной информации" доступным к редактированию?

Главная - управление дизайном - редактирование шаблонов - страница редактирования данных пользователя.

Спасибо.
02.01.2013 в 19:26      -2  

не получилось((
02.01.2013 в 21:24      +2  

Пробуй сначала, в твои года у меня ещё компа не было...
26.12.2012 в 15:37      0  

Где найти шаблонизатор в какомто элементе с идентификатором umessages??? Напишите например Настройки-Общие настройки.
26.12.2012 в 16:01      0  

Вся настройка происходит в шаблоне личных сообщений. Читаем внимательно текст статьи.
14.12.2012 в 16:52      0  

Добрый день. Поставил, почти все работает. Единственное, что бывают глюки с историей сообщений, не всегда выскакивают "+", не могу понять от чего это зависит... иногда отвечаю на сообщение, они появляются и можно посмотреть само сообщение и ответ на него, а иногда отвечаю и этого "плюсика" нет...
14.09.2012 в 23:48      0  

Спасибо, очень помогло. Во всех браузерах отлично смотрится, только в iе не выводит аватор и централизуется по центру, хотя в коде прописано мною left. В ие пишет что есть ошибка в скрипте, может кто сможет помочь решить данную проблему?) я просто в скриптах совсем не разбираюсь(
15.09.2012 в 08:17      0  

Какая именно ошибка? На какой строке? Если можно, то скриншот приложите
19.09.2012 в 00:38      0  

доброе время суток!

1 скрин - как отображается страница с сообщениями в 3 осн.браузерах(по моему мнению)см.скрин.

2 скрин - как в ie, здесь же пишет про ошибку и нет аватора(

http://saveimg.ru/show-image.php?id=6e6b0f688008ebafa410229c6125a056

http://saveimg.ru/show-image.php?id=37af3bd8b04fb7d946507bb5b21fe7ef
19.09.2012 в 17:46      0  

Скорее всего пропустили какой-то шаг при установке, либо допустили где-то ошибку. При добавлении всё проверялось досконально на всех браузерах, и нигде не было ошибок.
20.09.2012 в 19:46      0  

к сожалению проверили сегодня еще раз на другом сайте, в коде ничего не менялось, все по инструкции, но ошибка та же в IE(
22.06.2012 в 13:39      0  

Почему в ЛС не работают Глобальные блоки?
22.06.2012 в 19:03      0  

А зачем они там нужны ?? Страница отправки ЛС сообщения открывается в новом окне смысла выводить контейнеры нет.
22.06.2012 в 19:36      +2  

Я хочу реализовать открытие в этом же окне, а не в новом, мне ненужно новое окно. Пускай подключат блоки, а каждый сам решает что ему нужно. Везде кроме ЛС они работают, неужели так сложно их и здесь подключить.
22.06.2012 в 23:50      0  

Если есть знания html вы сможете и сами сделать, что бы в том же окне открывалось и были блоки. Правда я вообще категорически смысла в этом не вижу. Если что то не получается не знаете как сделать пишите сюда > http://forum.ucoz.ru/forum/31-28458-1
1 2 3 »