MODx/Встроенные сниппеты/Jot

Материал из Викиучебника — открытых книг для открытого мира

Описание[править]

Jot — это сниппет для MODx, который даёт возможность пользователям Вашего Сайта оставить отзыв о странице. Добавлять коментарии к статьям, создавать гостевые книги. Также вы можете использовать несколько экземпляров сниппета на одной странице.

Инструкции[править]

Установка[править]

1) Скачайте и распакуйте архив.

2) Создайте директорию «jot» по адресу [директория MODx]/assets/папка со сниппетами (как правило «snippets»)

3) перенесите по FTP файлы в [директория MODx]/assets/snippets/jot

4) Создайте новый сниппет «Jot» через менеджер сайта И скопируйте/вставьте содержимое файла jot.snippet.txt в поле для кода.

5) Сохраните

Обновление[править]

1) Скачайте и распакуйте архив.

2) Сделайте Backup и удалите содержимое [директория MODx]/assets/snippets/jot

3) перенесите по FTP файлы в [директория MODx]/assets/snippets/jot

4) Обновите сниппет «Jot» через менеджер сайта удалив содержимое, а затем скопировав/вставив содержимое файла jot.snippet.txt в поле для кода.

5) Сохраните

Использование[править]

  • [!Jot? &subscribe=`1` &pagination=`10`!]

или

  • [[Jot? &subscribe=`1` &pagination=`10`]]

В зависимости от того, кешируется или нет.

Параметры[править]

параметр необязательный значение описание
&action да
  • default (форма & комментарий)
  • count-comments
  • count-subscriptions
  • comments
  • form
Управление отображением
&docid да (идентификатор(id) документа в качестве целого числа) Link instance to this document, defaults to parent document id.
&tagid да (идентификатор(id) раздела в качестве строки [A-Za-z0-9]) Extra tag to use when two instances use the same docid.
&subscribe да
  • 0 (стандартное значение)
  • 1
  • 0 = отключить возможность оповещения по эл.почте.
  • 1 = включить возможность оповещения по эл.почте.
&moderated да
  • 0 (стандартное значение)
  • 1
  • 0 = новые комментарии будут публиковаться
  • 1 = новые комментарии не будут публиковаться
    модератор может просматривать комментарии до публикации
&notify да
  • 0
  • 1 (стандартное значение)
  • 2

Оповещение модераторов на получение оповещений указывается в параметре &canmoderate

  • 0 = без оповещений
  • 1 = оповещать о новых не опубликованных комментариях
  • 2 = оповещать о всех новых комментариях
&subjectSubscribe да (строка) Тема в оповещении на эл.почту для подписанных.
&subjectModerate да (строка) Тема в оповещении на эл.почту для модератров.
&captcha да
  • 0 (стандартное значение)
  • 1
  • 2
  • 0 = отключение.
  • 1 = включение.
  • 2 = включение, но только для незарегистрированных и не авторизованных.
&badwords да (список фраз, через запятую) наилучшим решением является создание куска(чанка), в котором заключены все ненужные фразы, через запятую, если конечно для этих целей не найдётся решения со стороны javascript, если нет, то в вызове Jot следует всего лишь указать:
&badwords=`{{плохиеСлова}}`
для более централизованного управления.

Используется &bw параметр для указания необходимых мер по выявлению нецензурных выражений в комментариях.

&bw да
  • 0
  • 1 (стандартное значение)
  • 2
В содействии с параметром &badwords и выявлении нецензурных выражений в комментарии:
  • 0 = опубликовывает.
  • 1 = не опубликовывает.
  • 2 = отклоняет комментарий. В особых случаях сообщение теряется навсегда.
&customfields да (дополнительные поля, через запятую) Список дополнительных полей с информацией о пользователе. Поля будут созданы в дополнительной таблице автоматически.

Стандартное значение "имя,email". (Примечание:В списке, через запятую, не должно быть пробелов)

&authorid да (идентификатор(id) автора по умолчанию) Стандартное значение для автора комментария.
&title да (заголовок по умолчанию) Стандартное значение участка таблицы, под названием longtitle, который является темой в комментарии.

Используется если тема не была освещена.

&css да
  • 0
  • 1 (стандартное значение)
  • 0 = не включать <link rel="stylesheet" src="assets/snippets/jot/templates/jot.css" /> в заголовок шаблона, в тег <HEAD></HEAD>
  • 1 = включить <link rel="stylesheet" src="assets/snippets/jot/templates/jot.css" /> в заголовок шаблона
&cssFile да (альтернативный путь до файла стилей от корня сайта) стандартное значение assets/snippets/jot/templates/jot.css
&sortby да (comma separated sort string) синтаксис:

fieldname:a (for ascending) или fieldname:d (for descending) по умолчанию "createdon:d".

&numdir да
  • 0
  • 1 (стандартное значение)
  • 0 = первый комментарий внизу.
  • 1 = первый комментарий вверху.
&validate да (список строковых значений через запятую) синтаксис: названиеПоля:сообщение(:требования)

Если внести название поля(fieldname), это поле автоматически становится обязательным для заполнения. Также есть возможность предъявления определённых требований к заполнению, в зависимости от которых будут высвечиваться сообщения. Возможные значения для требования:

  • number
  • email
  • регулярное выражение

Примеры:

  • Обязательные поля:
    • "моёПоле:моёПоле обязательно должно быть заполнено!"
  • Проверка электронной почты:
    • "email:Адрес электронной почты внесён вами не правильно.:email"
  • Проверка на числовое значение:
    • "numberHome:Номер дома должен быть в цифровом значении.:number"
  • Проверка телефонного номера в США, разделённого дефисом, с помощью регулярных выражений:
    • "phoneUSA:Таких телефонов в США нет, либо вы ошиблись в введении, используйте дефис:^[2-9]\d{2}-\d{3}-\d{4}$"
  • Комбинация требований:
    • "моёПоле:моёПоле обязательно должно быть заполнено!,email:Адрес электронной почты внесён вами не правильно.:email,numberHome:Номер дома должен быть в цифровом значении.:number"


стандартное значение "content:You forgot to enter a comment."


&guestname да (строка) Анонимное имя автора, не зарегистрированного и не авторизованного.

стандартное значение: anonymous.

&postdelay да (секунды как целое число) Число секунд ожидания между отправкой следующего сообщения тем же пользователем.

стандартное значение: 15.

&pagination да (число комментарий на страницу)
  • 0 = отключение, показывать все комментарии на одной странице (стандартное значение)
  • 1 > любое числовое значение.
&placeholders yes
  • 0
  • 1
  • 0 = no placeholders are created (default)
  • 1 = placeholders are created for every debug value (see &debug parameter)
    • if no tagid is specified the placeholders are created like this:
      [+jot.html.form+]
    • if the tagid is specified the placeholders are created like this:
      [+jot.html.form.tagid+]
&output yes
  • 0
  • 1
  • 0 = hide output (can be used in combination with &placeholder parameter)
  • 1 = show output (default)
&debug yes
  • 0
  • 1
  • 0 = disable output of jot "hidden" variables. (default)
  • 1 = enable output of jot "hidden" variables.
&trusted yes (comma delimited web groups) Comma delimited web groups that are trusted and have their comments

published by default when &moderated is set 1. Badwords also does not apply for trusted webgroups. Manager users are always trusted.

&canpost yes (comma delimited web groups) Comma delimited web groups that can post comments.

Leave blank for public posting.

&canview yes (comma delimited web groups) Comma delimited web groups that can view comments.

Leave blank for public viewing.

&canedit yes (comma delimited web groups) Comma delimited web groups that can edit their OWN comments.

Leave blank for no editing by users.

&canmoderate yes (comma delimited web groups) Comma delimited web groups that can moderate comments.

Leave blank for no webuser moderation (=moderation by using manager account).

&notifyAuthor yes
  • 0 (Default)
  • 1
Send the author of the document an email notification when someone posts a comment (v 1.1.3+)
&subjectAuthor yes (string) Subject for author notification email (v 1.1.3+)


Переменные шаблона (TV)

parameter optional description
&tplForm yes Template (HTML) for user form.
&tplComments yes Template (HTML) for comment. This templates gets repeated for each comment.
&tplModerate yes Template (HTML) for moderation block. This templates gets included once (top) in comment view
&tplNav yes Template (HTML) for navigation bar. This templates gets included twice (top and bottom) in default comment view.
&tplSubscribe yes Template (HTML) for subscriptions block. This templates gets included once (top) in comment view
&tplNotify yes Template (TXT) for notification email for subscribers.
&tplNotifyModerator yes Template (TXT) for notification email for moderators.
&tplNotifyAuthor yes Template (TXT) for notification email for author (v 1.1.3+)
&cssRowAlt yes CSS style classname for alternate row.
&cssRowMe yes CSS style classname for current user row.
&cssRowAuthor yes CSS style classname for author row.

If you are using templates, create a chunk in modx, you can get the default templates from the jot/template directory

Примеры использования

Feel free to add your own examples to the list.

Очень простой

  • с доступом оповещения на эл.почту.
  • с постраничной навигацией: 10 комментариев на странице.
[[Jot? &subscribe=`1` &pagination=`10`]]


Простой: альтернативная сортировка

  • с доступом оповещения на эл.почту.
  • с постраничной навигацией: 10 комментариев на странице.
  • комментарии сортируются начиная с самого старого, после первого.
[[Jot? &subscribe=`1` &pagination=`10` &sortby=`createdon:a`]]

Модерация

  • с доступом оповещения на эл.почту.
  • с постраничной навигацией: 10 комментариев на странице.
  • новые комментарии не публикуются, их опубликовывает модератор.
  • автору не будут приходить уведомления. Вы должны создать веб- группу с веб- пользователями, которые бы выступали в качестве модераторов.
  • Но автор будет получать уведомления
    • если используется Jot 1.1.3+
    • менеджером является автор комментария
    • вы добавите &notifyAuthor=`1`
[[Jot? &subscribe=`1` &pagination=`10` &moderated=`1`]]

Модерация: более надёжный

  • с доступом оповещения на эл.почту.
  • с постраничной навигацией: 10 комментариев на странице.
  • новые комментарии не публикуются, их опубликовывает модератор.
  • новые комментарии будут опубликованы лишь в том случае, если автор входит в состав группы "Доверенные Пользователи".
[[Jot? &subscribe=`1` &pagination=`10` &moderated=`1` &trusted=`Доверенные Пользователи`]]

Анти-спам: автоматический

  • с постраничной навигацией: 10 комментариев на странице.
  • с предоставлением динамически меняющейся картинкой с кодом (captcha).
  • если в чёрный список слов входит слово, используемое в комментарии, комментарий будет отклонён, возможно, что даже потерян.
  • чёрным списком слов является часть программы(chunk), под названием "словаСмертиКомментариев", обязательным разделителем в нём служит символ запятой.
  • [[Jot? &pagination=`10` &captcha=`1` &badwords=`{{словаСмертиКомментариев}}` &bw=`2`]]

    Анти-спам: с модерацией

  • с постраничной навигацией: 10 комментариев на странице.
  • с предоставлением динамически меняющейся картинкой с кодом (captcha).
  • если в чёрный список слов входит слово, используемое в комментарии, комментарий будет не опубликован, и модератор при этом будет оповещён.
  • веб- пользователи из группы "Модераторы комментариев" могут редактировать комментарии.
  • чёрным списком слов является часть программы(chunk), под названием "словаСмертиКомментариев", обязательным разделителем в нём служит символ запятой.
  • [[Jot? &pagination=`10` &captcha=`1` &canmoderate=`Jot Moderators` &badwords=`{{словаСмертиКомментариев}}` &bw=`1`]]

    Некоторые уловки

    Хорошая практика включения поддержки комментариев

    The best practice for comment-enabling your documents is to create a chunk for each type of Jot call you will use. Include each chunk in a template and link it to your articles. Try to avoid direct jot calls in the content field of a document (even if it's a chunk).

    Расширенная MODx шаблонизация

    Jot uses an internal template handler that includes the functionality of the <a href="/index.php/PHx" title="PHx">PHx</a> plugin available from the repository. For more details on the modifiers check its description here.

    Note: Jot does not require that the <a href="/index.php/PHx" title="PHx">PHx</a> plugin is installed. If not installed PHx functionality will still be available, but for the Jot templates only.

    Активная идентификация

    When logged in as both web- and manager user your webuser identity will over-rule your manager identity but your permissions will be the same. When logged in as a manager user you will always have moderator options.

    Обязательные поля для заполнения

    The custom fields you specify with &customfields will have to be added to your form chunk manually. The default templates holds an example of how a guest form looks (added fields here are: name and email)

    NOTE: Be sure to prefix custom. to custom field. ie. [+comment.custom.customfieldname.url+]

    Цензура в комментариях

    Bad words are checked on all input, including custom fields.

    Генерация URL/Узлов

    All generated links by Jot will preserve the current querystring and only the variables specific for the Jot instance are altered if necessary. This ensures that the current page state (that could be altered by other snippets on the same page) is preserved.

    Реализованные идеи

    To change the way jot outputs your forms including where moderator comments and actual comments appear use your call as normal

    [[Jot? &placeholders=`1` &output=`0` &pagination=`10` &captcha=`1` &canmoderate=`Jot Moderators` &badwords=`{{myBadwordList}}` &bw=`1`]]

    Внимание: нужно установить следующие параметры

    &placeholders=`1` &output=`0`

    для отдельного вывода комментариев, модерации, формы.

    Then, you can add these placeholders calls in your page where the Jot call is.

    [+jot.html.navigation+] - First. places the navigation on the page
    [+jot.html.comments+] - Second. places the comment of the page
    [+jot.html.moderate+] - Third. places moderated info on the page
    [+jot.html.form+] - Fourth. places the form on the page

    You can change the order as you see fit, the example has the comments first then the form is last but you could have.

    [+jot.html.form+] - First. places the form on the page
    [+jot.html.comments+] - Second. places the comment of the page
    [+jot.html.moderate+] - Third. places moderated info on the page
    [+jot.html.navigation+] - Fourth. places the navigation on the page

    Ссылки[править]