Комментарии в MODX Revolution. Quip и его альтернативы. Modx quip


Комментарии статей в MODX Revolution. Quip и его альтернативы

Почти каждый сайт должен иметь обратную связь с посетителями и чаще всего она реализуется через комментирование. В MODX Revolution есть несколько пакетов предназначенных для организации вывода и создания комментариев. Самый распространенный и старый — «Quip». Альтернативы появились не так давно, но уже успели получить популярность среди MODX разработчиков. Речь идет о «MODX Talks» и «Tickets».

Я постараюсь как можно подробнее осветить аспекты работы с «Quip», а затем немного напишу про собственные впечатления от альтернативных вариантов.

«Quip» — комментарии в MODX Revolution

Установка производится из репозитория в несколько кликов.

В шаблоне (или чанке), который планируется использовать для ресурсов с комментариями, прописываем 2 сниппета:

[[!Quip? &thread=`[[*alias]]-[[*id]]` &useGravatar=`0` &dateFormat=`%d %b %Yг. в %H:%M` &tplComment=`comment` ]] [[!QuipReply? &thread=`[[*alias]]-[[*id]]` &moderate=`0` &tplAddComment=`new-comment` ]]

Первый сниппет отвечает за вывод комментариев, второй за форму создания нового комментария. Рассмотрим параметры:

thread — важнейший параметр, должен представлять из себя уникальный идентификатор ресурса, к которому будет привязываться комментарий.

Многие делают ошибку, формируя этот идентификатор из названия ресурса (pagetitle). Этого не стоит делать по следующим причинам:

Чтобы избежать подобных проблем, я рекомендую формировать его из псевдонима (alias) и идентификатора ресурса (id).

useGravatar — 0, если не требуется выводить аватар пользователя и 1 — если требуется. Аватар берется с сайта gravatar.com. На этом сайте можно привязать к своему почтовому аккаунту маленькую картинку. В большинстве случаев, при оставлении комментария пользователь должен вводить свой e-mail. «Quip» проверяет, есть ли на сайте gravatar.com картинка, соответствующая e-mail'у комментатора. Если есть, то выводит её, а если нет — выводит аватар по умолчанию.

Проблема заключается в том, что мало кто привязывает аватарки к своим почтовым адресам через сервис Gravatar, поэтому я не вижу смысла использовать их.

dateFormat — здесь всё просто, формат выводимого времени, когда был оставлен комментарий. Расписывать его не буду.

tplComment — чанк, содержащий оформление выводимого комментария. Как он выглядит по умолчанию можете посмотреть по ссылке.

moderate — указывает, показывать ли оставленный комментарий сразу, или только после одобрения модератором (через адмику Quip).

tplAddComment — чанк для оформления формы ввода нового комментария. Его содержимое по умолчанию вы можете найти перейдя по ссылке.

У сниппетов так же много других параметров, о которых вы можете прочитать по приведенным ссылкам. Есть возможность создания капчи, разрешение комментирования только зарегистрированным пользователям и многие другие.

Вывод последних комментариев в «Quip» MODX

Осуществляется вызовом сниппета: [[!QuipLatestComments? &tpl=`latestCommentTpl` &limit=`3` ]] limit — указывает, сколько последних комментариев выводить; tpl — чанк оформления одного «последнего» комментария. Его содержимое представляет из себя плейсхолдеры, вывод которых оформляется с помощью html и CSS. Вот пример: <a href="[[+url]]"> [[+pagetitle]] </a> <div> [[+body:ellipsis=`55`]] </div> <div> <span>[[+name]]</span> <span>[[+createdon:strtotime:date=`%d %b %Yг. в %H:%M`]]</span> </div>

В этом чанке выводится название ресурса с комментарием, текст комментария, урезанный до 55 символов, имя автора комментария и дата создания с форматом вывода.

Вывод количества комментариев «Quip» MODX

Иногда требуется к описанию поста вывести количество комментариев. Чаще всего краткие описания делаются на главной странице. Тогда в шаблоне, отвечающем за формирование описания, прописываем сниппет:

[[!QuipCount? &thread=`[[+alias]]-[[+id]]`]] «Quip» хороший и гибкий компонент, но есть у него и недостаток — замедляет генерацию страницы при большом количестве комментариев (более 50 на один ресурс). Если Ваш сайт часто комментируется, то стоит подумать об использовании альтернативных вариантов.

«MODX Talks» — красота из коробки

Что понравилось: Что не понравилось:

Основной причиной моего отказа от этого инструмента для комментирования, стал баг, при котором после оставления комментария окно прокручивалось в самый конец, а не на оставленный только что комментарий. Скорее всего, это баг исправили, а может и возникал он только у меня. Тем не менее, к тому времени у меня уже стоял Quip и менять я его не стал.

«Tickets» — быстрота и надежность

Пакет «Tickets» включает в себя сниппет «TicketComments», который позволяет комментировать не только созданные тикеты, но и обычные ресурсы.

Что понравилось: Что не понравилось:

Компонент очень понравился, но в связи с тем, что я планировал дать возможность комментирования статей для всех пользователей, в том числе и не зарегистрированных, мой выбор пал на «Quip». Про комментирование статей при помощи компонента «Tickets» у меня есть отдельная статья — Компонент Tickets для MODX

«DISQUS» — сторонний сервис комментирования

Этот сервис используется в разных CMS для организации комментариев. Используют его чаще всего ленивые разработчики, которым влом разбираться с настройками существующих решений под CMS. Для использования DISQUS достаточно зарегистрироваться у них на сайте и получить код для вставки на своём сайте: disqus.com

Что понравилось: Что не понравилось:

На этом всё. Если есть поправки или дополнения, пишите в комментариях, но не забывайте, что я изложил лишь собственное видение различных систем комментирования в MODX Revolution.

realadmin.ru

Quip MODX Revolution. Компонент комментариев MODX

Что такое Quip?

Quip – простой сниппет для создания комментариев в MODx Revolution. Он позволяет быстро и просто добавить возможность размещения комментариев на сайте, а также модерировать их, преобразовывать адреса в ссылки, поддерживает треды (thread) и автозавершение тредов, предоставляет доступ к полному управлению комментариями через внутренний, недоступный пользователю, интерфейс Revolution.

Системные требования

История разработки

Quip создан Шоном МакКорником (Shaun McCormick) как простой компонент для создания комментариев, впервые опубликован 7 мая 2009 года.

Загрузка

ПО может быть загружено с помощью менеджера MODx Revolution Package Management, или из MODx Extras Repository.

Использование

Quip использует два режима работы, с тредовыми и нетредовыми комментариями.

Нетредовые коментарии

Сниппет Quip может быть вызван на той же странице, на которой вы хотите отобразить комментарий:

1

2

3

[[!Quip? &thread=`threadNameHere` &threading=`0`]] [[!QuipReply? &thread=`threadNameHere`]]

Древовидные комментарии

Перед включением режима «треда» нужно сделать несколько вещей. Первое - добавить страницу «Ответить на тред»("Reply to Thread") с этим вызовом сниппета:

Reply to Thread

[[!Quip]] [[!QuipReply]]

Вам не нужно задавать никаких свойств в этом вызове, так как они будут получены из исходного вызова QuipReply на основной странице треда.

Затем нужно добавить свойство 'replyResourceId' к исходному вызову сниппета Quip на той странице, где осуществляется загрузка комментариев (например, страница с постами в блоге), для ресурса с ID 123 это будет выглядеть так:

[[!Quip? &thread=`threadNameHere` &replyResourceId=`123`]] [[!QuipReply? &thread=`threadNameHere`]]

Quip также включает в себя дополнительный сниппет QuipCount, который может использоваться для поиска последних комментарий в треде или последних комментариев пользователей.

www.modx.cc

Отзывы в MODX Revo – настройка Quip

Если есть необходимость разместить отзывы или комментарии на сайте, наиболее подходящим решением будет установка пакета Quip для MODx. Используя готовое решение из данной статьи вы сможете получить комментарии на сайте.

Данная инструкция подходит для MODx revolution. По умолчанию аватары отключены, но их можно включить (&useGravatar=1 в настройках сниппета Quip).

Вставляем в шаблон (либо ресурсе):

[ [!Quip?&thread=`[ [*alias]]-[ [*id]]`&useGravatar=`0`&dateFormat=`%d %b %Yг. в %H:%M`]][ [!QuipReply? &thread=`[ [*alias]]-[ [*id]]` &moderate=`1`&closeAfter=`0`]]

CSS:

.quip-comment .quip-fld{margin:5px}.quip-comment .quip-fld label{font-weight:700;white-space:nowrap;width:220px}#quip-comment-box-qcom{margin-bottom:10px}.quip h4{display:none}.quip-comment button{border:1px solid #ccc;border-radius:4px;background:#F5F5F5;outline:none;padding:5px 10px;cursor:pointer}.quip-comment button:hover{background:#E2E2E2}.quip-comment button:active{background:#fff}.quip-comment-list .quip-comment{margin-bottom:10px;border:1px solid #DFDFDF}.quip-comment .quip-comment-text p{padding:0;margin:0 0 7px}.quip-comment p.quip-comment-meta{border-bottom:1px solid #eaeaea;margin-bottom:7px}.quip-comment .quip-comment-body{padding:10px 20px}

В файле:

core/components/quip/elements/chunks/quipaddcomment.chunk.tpl Убедетесь, что права файлов установлены такие, что вы можете сохранить файл после редактирования

Вместо:

<button type="submit" name="[ [+preview_action]]" value="1">[ [%quip.preview]]</button>[ [+can_post:is=`1`:then=`<button type="submit" name="[ [+post_action]]" value="1">[ [%quip.post]]</button>`]]

Поместить:

[ [+can_post:is=`1`:then=`<button type="submit" name="[ [+post_action]]" value="1">Опубликовать</button>`]]<button type="submit" name="[ [+preview_action]]" value="1">Предпросмотр</button>

Комментарии (2)

about-cms.com

Урок 21. AJAX загрузка Quip комментариев MODX

Попробуем разобраться сегодня как загружать комментарии используя Quip, AJAX и прямые руки. Для начала установите компонент Quip, если он ещё не установлен.

Создадим ресурс с произвольным именем, шаблоном _Blank (!) и назначим ему псевдоним (alias) как ajaxgetcomments, переходим на вкладку Настройки (Settings) и ставим чекбокс Заморозить URI (Freeze URI) и выставляем значение ajaxgetcomments без ".html".

Вставляем в поле "содержимое" (content) некешируемый вызов сниппета ajaxGetComments. Получается следующая картина:

Ресурс с псевдонимом ajaxgetcomments

Давайте теперь создадим сам сниппет ajaxGetComments. Этот сниппет - всего лишь модифицированный сниппет Quip, который будет принимать параметр thread от AJAX вызова и выдавать соответствующий тред комментариев. Скопируем код сниппета Quip и добавим туда сверху код, принимающий параметр thread (нужный тред) и передающий его в $properties в виде массива после инициализации контекста:

Мы проверим вначале работу сниппета и, если всё сделали правильно и получаем комментарии, то поменяем GET на POST.

Проверим теперь работу сниппета: напишем в адресной строке браузера запрос, вида: http://mysite.com/ajaxgetcomments?thread=mythread, где mythread - это ИД треда, для меня строка проверки работы была http://modx.ws/demo/ajaxgetcomments?thread=blog-post-11

ИД треда можно найти в менеджере в Quip компоненте, смотрим изображение:

Комментарии в Quip MODX Revoluion

Итак, если сниппет работает как нужно, то меняем запрос GET на POST и добавляем вверху сниппета ajaxGetComments для проверки наличия AJAX-запроса следующую строчку:

if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}

Создадим код кнопки "Показать комментарии", которая будет содержать данные о треде вывода комментариев в атрибуте data-thread. Вставляем его в том месте шаблона, где планируем выводить комментарии. Код кнопки:

Создадим JS-код, который будет обрабатывать нажатие кнопки, брать данные о треде из атрибута data-thread и отсылать его в post-запросе на нужный нам URL:

Вставляем данный код после вызова библиотеки jQuery (на момент написания статьи - 1.8.2). Добавляем необходимые стили и в итоге получаем следующий код шаблона:

Что нужно читать, чтобы понять как я это сделал:

Demo

Вот пожалуй и всё. Как обычно задавайте вопросы.

modx.ws

Комментарии в 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). Этого не стоит делать по следующим причинам:

Чтобы избежать подобных проблем, я рекомендую формировать его из псевдонима (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 href=""> </a><div> </div>

 <div><span></span> <span></span> </div>

В этом чанке выводится название ресурса с комментарием, текст комментария, урезанный до 55 символов, имя автора комментария и дата создания с форматом вывода.

Вывод количества комментариев «Quip» MODX

Иногда требуется к описанию поста вывести количество комментариев. Чаще всего краткие описания делаются на главной странице. Тогда в шаблоне, отвечающем за формирование описания, прописываем сниппет:

[ [!QuipCount?&thread=`-`]]

freelgraf.in.ua

Quip - Дополнения - RTFM

Что такое Quip?

Quip - сниппет простого комментирования для MODX Revolution. Он позволяет быстро и легко писать комментарии на своем сайте, в том числе с поддержкой веток, модерации, преобразованием url в ссылки, автоматическим закрытием тем и многое другое. Он также позволяет полностью управлять комментариями через админку системы или сайта.

Требования

MODX Revolution 2.0.0 RC2 или новее

PHP5 или новее

История

Quip был написан Шоном Маккормиком как компонент простого комментирования, первый релиз состоялся 7 мая 2009 года.

Скачать

Компонент можно скачать через админку MODX Revolution с помощью менеджера пакетов или из репозитория дополнений MODX, это здесь: http://modx.com/extras/package/quip

Документацию по API для Quip можно найти здесь: http://api.modx.com/quip/

Использование

Quip работает в 2-х режимах - древовидные комментарии и обычные

Обычные комментарии

Сниппет Quip можно вызвать на странице там, где вы хотите показать комментарии, вот так:

Древовидные комментарии

Если у вас включено ветвление, вам нужно сначала сделать несколько действий. Одним из них является добавить страницу "Ответить в теме" с этими вызовами сниппетов:

<h3>Reply to Thread</h3> <br />

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

И затем вам нужно будет добавить параметр "replyResourceId" в ваш исходный вызов сниппета Quip на странице, где будут загружаться комментарии (например, в блоге), так это будет выглядеть с ресурсом, у которого id 123:

<br />

Кроме этого, Quip дает возможность пользователям с помощью вызова сниппета QuipCount получить количество ветвей комментариев или обычных комментариев пользователей.

Сниппеты Quip

Quip поставляется с 4 отдельными сниппетами:

Системные настройки

Quip поставляется с предварительно заданными некоторыми параметрами, распространяющимися на весь сайт.

Ключ Описание
quip.emailsFrom Email, от которого будут отсылаться системные письма и письма для модерации.
quip.emailsTo Email, на который будут отсылаться системные письма и письма для модерации.
quip.emailsReplyTo Email, который будет установлен в поле reply-to. По умолчанию поле emailFrom.
quip.allowedTags Теги разрешеннные пользователям в комментариях. Смотрите список возможных значений тут php.net/strip_tags

Кроме того есть 3 настройки для поддержки reCaptcha в пространстве имен recaptcha:

Ключ Описание
recaptcha.public_key Ваш публичный ключ для reCaptcha
recaptcha.private_key Ваш секретный ключ для reCaptcha
recaptcha.use_ssl Если да, будет использован протокол SSL для подключения reCaptcha

Примеры

Строка с простым кодом для поста в блоге, который в ресурсе без ветвления:

Показать комментарии для ветки "post45", но только для зарегистрированных пользователей и будет видна кнопка "Ответить в теме" для ресурса с ID 123:

<br />

Показать комментарии для ветки "spamproof123" без ветвления, но с поддержкой reCaptcha.

<br />

modx.by

Создание страницы с отзывами на MODX

Сегодня мы поговорим о том как в modx создать страницу с отзывами.

Есть несколько способов сделать это.

1 способ. Подключение комментариев от в контакте

Для того чтобы подключить форму комментирования от вконтакте, вам нужно перейти на страницу vk.com/dev/Comments, скопировать кусок кода, создать чанк и вставить в него код, далее вывести его в нужном месте.

2 способ. Воспользоватся компонентом easyComm

easyComm платный компонент, стоит менее 500р, купить его можно здесь: modstore.pro/packages/utilities/easycomm.

Чтобы вывести форму для оставления отзывов. достаточно установить этот компонент и на странице с отзывами вывести сниппет ecMessages:

Анонсы компонента от автора:1. modx.pro/components/5234-easycomm-comments-feedback-questions-on-the-website/2. modx.pro/components/5299-easycomm-1-0-4-beta2-evaluation-and-rating/

3 способ. Воспользоватся компонентом modxTalks

Подробнее о данном компоненте можно почитать здесь: modxtalks.artdevue.com/ru/

Ну а скачать его можно с основного репозитория.

4 способ. Воспользоватся компонентом Tickets

Именно на этом способе я обычно останавливаюсь (обычно при создании сайтов визиток).

Устанавливаете компонент Tickets (загрузите его можно из репозитория modxstore).

Вывод простейшей формы для отзывов будет следующим:

[[!TicketComments? &allowGuest=`1`]]

[[!TicketComments? &allowGuest=`1`]]

где параметр &allowGuest равный единице, добавляет возможность комментирования не авторизованным пользователям.

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

Если хотите чтобы отзывы попадали на сайт без предмодерации, в вывод можно добавить параметр &autoPublish равный единице.

для того чтобы форма комментариев находилась в верху, а не под всеми комментариями добавьте в вызов параметр &formBeforeравный единице.

[[!TicketComments? &allowGuest=`1`&autoPublish=`1`&formBefore=`1`]]

[[!TicketComments? &allowGuest=`1`&autoPublish=`1`&formBefore=`1`]]

Ну и так далее, смотрите документацию по компоненту: docs.modx.pro/components/tickets/snippets/ticketcomments

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

[[!HybridAuth? &providers=`Facebook,Vkontakte` &groups=`Member:2` ]] [[!TicketComments? &allowGuest=`0`&autoPublish=`1`&formBefore=`1`]]

[[!HybridAuth?

&providers=`Facebook,Vkontakte`

&groups=`Member:2`

]]

[[!TicketComments? &allowGuest=`0`&autoPublish=`1`&formBefore=`1`]]

В данном случае нужно настроить права пользователей, о том как это сделать написано в документации здесь: docs.modx.pro/components/tickets/interface/components/tickets/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81/components/tickets/interface/configure-user-rights

Ну а чтобы изменить название комментировать, оставить комментарий и т.д. Перейдите в настройки — управление словарями, выберите tickets — ru и переименуйте все что нужно под свой лад.

управление словорями tickets

Если кому то не нравится стандартное оформление, то можете поправить на свой лад чанки ticket comments

Чанки ticket comments

Документация по ticket comments находится здесь: docs.modx.pro/components/tickets/snippets/ticketcomments

Если возникли вопросы, задавайте в комментариях.

web-revenue.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта