Комментарии в MODX Revolution. Quip.
В MODX Revolution есть несколько пакетов, предназначенных для организации вывода и создания комментариев. Самый распространенный и старейший - «Quip».
Установка производится из репозитория в несколько кликов.
В шаблоне (или чанке), который планируется использовать для ресурсов с комментариями, прописываем 2 сниппета:
[ [!Quip?
&thread=`kommentarii-v-modx-revolution.-quip-65`
&useGravatar=`0`
&dateFormat=`%d %b %Yг. в %H:%M`
&tplComment=`comment`
]]
[ [!QuipReply?
&thread=`kommentarii-v-modx-revolution.-quip-65`
&moderate=`0`
&tplAddComment=`new-comment`]]
Первый сниппет отвечает за вывод комментариев, второй за форму создания нового комментария. Рассмотрим параметры:
thread - важнейший параметр, должен представлять из себя уникальный идентификатор ресурса, к которому будет привязываться комментарий.
Многие делают ошибку, формируя этот идентификатор из названия ресурса (pagetitle). Этого не стоит делать по следующим причинам:
- Quip не будет выводить комментарии к ресурсам, название которых содержит кавычки.
- При смене названия ресурса все комментарии, связанные с ним, будут потеряны.
- Вы можете нарваться на ошибку «quip.thread_err_nfs» при управлении темой в комментариях Quip MODX Revolution. Возникает она из-за использования кириллицы в уникальном идентификаторе «thread».
Чтобы избежать подобных проблем, я рекомендую формировать его из псевдонима (alias) и идентификатора ресурса (id).
useGravatar - 0, если не требуется выводить аватар пользователя и 1 - если требуется. Аватар берется с сайта gravatar.com. На этом сайте можно привязать к своему почтовому аккаунту маленькую картинку. В большинстве случаев, при оставлении комментария пользователь должен вводить свой e-mail. «Quip» проверяет, есть ли на сайте gravatar.com картинка, соответствующая e-mail'у комментатора. Если есть, то выводит её, а если нет - выводит аватар по умолчанию.
dateFormat - формат выводимого времени, когда был оставлен комментарий.
tplComment - чанк, содержащий оформление выводимого комментария.
moderate - указывает, показывать ли оставленный комментарий сразу, или только после одобрения модератором.
tplAddComment - чанк для оформления формы ввода нового комментария.
У сниппетов так же много других параметров. Есть возможность создания капчи, разрешение комментирования только зарегистрированным пользователям и многие другие.
Вывод последних комментариев в «Quip» MODX
Осуществляется вызовом сниппета:
[ [!QuipLatestComments?
&tpl=`latestCommentTpl`
&limit=`3`]]
limit - указывает, сколько последних комментариев выводить; tpl - чанк оформления одного «последнего» комментария. Его содержимое представляет из себя плейсхолдеры, вывод которых оформляется с помощью html и CSS. Вот пример:
<a class="latest_comment_theme" href=""> </a>
<div class="latest_comment_body"> </div>
<div class="LastComment">
<span class="latest_comment_author"></span>
<span class="latest_comment_ago"></span>
</div>
В этом чанке выводится название ресурса с комментарием, текст комментария, урезанный до 55 символов, имя автора комментария и дата создания с форматом вывода.
Вывод количества комментариев «Quip» MODX
Иногда требуется к описанию поста вывести количество комментариев. Чаще всего краткие описания делаются на главной странице. Тогда в шаблоне, отвечающем за формирование описания, прописываем сниппет:
[ [!QuipCount?
&thread=`-`]]
Марина:
28.08.2017г. в 22:31
Здравствуйте! Возможно ли удалить параметр &dateFormat=`%d %b %Yг. в %H:%M` в настройках сниппета Quip? Будет ли корректно работать данное приложение?
Наталья:
30.08.2017г. в 13:53
Здравствуйте. Да, можно. &dateFormat=`%d %b %Yг. в %H:%M` - это показатель того, в каком формате выводить дату комментария.
Анна:
29.08.2018г. в 13:37
После обновления revo до 2.6.5 и компонента Quip, все комментарии на фронте остались, а в админке исчезли. И новые туда не поступают. С чем может быть связано? Ткните носом, пожалуйста, а то 2 дня ковыряюсь, не могу понять, что не так. Переустановка revo и компонента не помогает.