MODx/Встроенные сниппеты/UserComments
Информация
[править]Последняя версия: 1.0 Beta
Автор: Raymond Irving, July 2005
Назначение: Предоставляет возможность посетителям комментировать документ.
Действие: Все комментарии посетителей будут сохранены в дочернем документе указанной папки (по-умолчанию в комментируемом документе).
Замечание: Если вы используете сниппет NewsListing и не указали в шаблоне вызов сниппета UserComments убедитесь что вы поместили вызов UserComments внутрь чанка для того чтобы комментарии могли быть корректно отфильтрованы сниппетом NewsListing.
Параметры
[править]- &displaytpl - шаблон для комментариев (имя чанка)
- &formtpl - шаблон для формы отправки комментариев (имя чанка)
- &canpost - перечисленные через запятую имена веб-групп посетителей, которые могут комментировать документ. Оставьте это параметр незаполненным, чтобы позволить всем посетителям оставлять комментарии.
- &canview - перечисленные через запятую имена веб-групп посетителей, которые могут просматривать комментарии. Оставьте это параметр незаполненным, чтобы позволить всем посетителям просматривать комментарии.
- &badwords - перечисленные через запятую слова которые не должны быть в сообщении (фильтр "плохих" слов)
- &makefolder - если этот параметр равен 1, тогда комментируемый документ будет автоматически преобразован в папку, в которой будут храниться комментарии. По умолчанию равно 0
- &folder - идентификатор (id) папки, в которой будут сохраняться комментарии
- &tagid - a unique id used to identify or tag user comments on a page where multiple comments are required.
- &freeform - установите этот параметр равным 1, если хотите использовать подстановщик [+UserComments.Form+] для создания своей формы отправки комментария.
- &postcss - задает имя CSS-класса для DIV-блока содержащего комментарий
- &titlecss - задает имя CSS-класса для DIV-блока содержащего заголовок комментария
- &codecss - задает имя CSS-класса для форматирования тэга
- &numbecss - задает имя CSS-класса для DIV-блока содержащего номер комментария
- &authorcss - задает имя CSS-класса для выделения комментариев автора документа
- &ownercss - задает имя CSS-класса для выделения собственных комментариев текущего посетителя
- &altrowcss - задает имя CSS-класса для выделения чередующихся комментариев
- &dateformat - определяет формат даты для комментария. Синтаксис идентичен php функции date() (подробнее о форматировании даты на странице http://php.net/strftime )
- &sortorder - определяет порядок следования комментариев: 0 - первыми выводятся более ранние комментарии, 1 - новые комментарии выводятся раньше. значение по умолчанию 1.
- &recentposts - определяет количество комментариев для отображения. Если параметр равен 0, показываются все комментарии. Значение по умолчанию 0.
Примеры вызовов
[править]
[[UserComments? &folder=`2`]]
[!UserComments? &folder=`2`!]
[[UserComments? &folder=`2` &canpost=`RegisteredUsers`]]
Тонкая настройка
[править]Для отображения общего количества оставленных комментариев используйте подстановщик [+UserComments.Count+] на той же странице где вызываете сниппет.
Создание собственных шаблонов
[править]Для создания своих шаблонов вам потребуется базовое знание о том, как работает HTML.
Шаблон для комментариев заданный по умолчанию (&displaytpl):: (Используется PHx плагин - стандартный только для Modx Revo, для Evo версии придется скачивать из репозитария modxcms.com)
[править]
[+UID:[+uid+]+]<div[+postclass+]> <div[+numberclass+]> [+postnumber+] </div> <div[+titleclass+]> <strong>[+subject+]</strong><span>[+user+] [+createdon+]</span> </div> <div class="content"> [+comment+] </div> </div>
Шаблон для формы отправки комментария (&formTpl)
[править]
<form method="post" action="[~[id]~]"> <input name="[+tagname+]" type="hidden" value="on" /> Subject:<br /><input name="subject" type="text" size="40" value="" /><br /> Comment:<br /><textarea name="comment" cols="50" rows="8"></textarea><br /> <input name="send" type="submit" value="Submit" /> < /form>
Здесь значения из полей “subject” и “comment” будут подставлены вместо [+subject+] и [+comment+] соответственно в шаблоне для отображения комментария.
Изменение набора полей
[править]Вы можете добавлять новые поля к форме отправки комментария и места для подстановки в шаблоне отображения комментария используя подстановщик формата [+ИмяНовгоПоля+].
Например, мы хотим добавить к форме отправки комментария поле содержащее электронный адрес посетителя. Для этого нам надо добавить в шаблон формы отправки следующий код:
<input name=“email” type=“text” size=“30” />
Внутри нашего шаблона для отображения комментариев нам надо поместить плейсхолдер [+email+] там, где мы хотим выводить электронный адрес посетителя оставившего комментарий. Например, так:
Posted by [+email+]
Замечание: подстановщики [+user+], [+createdon+], [+postnumber+], [+UID:[+uid+]+], [+authorclass+] и [+altrowclass+] являются встроенными, система сама заменит их на имя текущего авторизованного пользователя, дату добавления комментария, номер комментария, идентификатор пользователя и т.д.