Skip to content
  1. Компоненты
  2. resComments

resComments

Многоуровневые комментарии с пагинацией для ресурсов MODX3.

Основные свойства

  • Неограниченная вложенность
  • Несколько вызовов на странице
  • Оценка публикации ("звездный" рейтинг)
  • Оценки и рейтинг ответов
  • WYSIWYG-редактор Pell
  • Разметка Schema.org
  • Возможность удаления собственных комментариев
  • Email-уведомления менеджеру сайта, автору публикации, автору комментария об ответах
  • Пагинация (с pdoPage)
  • Работает без jQuery (за исключением связки с pdoPage)
  • Настраиваемые всплывающие уведомления
  • Приложение в админке с поиском, фильтрацией и возможностью создания / удаления / редактирования (включая ответы разных уровней)
  • Вкладка "Комментарии" у ресурсов с указанными шаблонами
  • Вкладка "Комментарии" у ресурсов с указанными ID

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

ПараметрОписаниеЗначение по умолчанию
rc_antispam_fieldПоле для защиты от СПАМа (проверяется на пустоту)comment_subject
rc_autopublishАвтопубликация без модерации1
rc_notificationsСкрипт для всплывающих уведомлений.
Поддерживаются Notyf и SweetAlert2 (требуется установка). Также можно указать miniShop3, FetchIt или AjaxForm для использования уведомлений этих компонентов (если они установлены).
Notyf
rc_js_urlПуть к JS-файлу от корня сайта.{assets_url}components/rescomments/js/web/default.min.js
rc_css_urlПуть к JS-файлу от корня сайта.{assets_url}components/rescomments/css/web/default.min.css
rc_tab_tplУ каких шаблонов выводить вкладку "Комментарии", ID через запятую.
Поставьте all, чтобы вкладка выводилась для всех шаблонов, оставьте пустым, чтобы не выводить.
rc_tab_resourcesУ каких ресурсов выводить вкладку "Комментарии", ID через запятую.
rc_email_send_createdbyУведомлять ли создателя ресурса о новых комментариях (определяется по createdby).Нет
rc_email_send_managerУведомлять ли менеджеров о новых комментариях.Да
rc_email_send_userУведомлять ли пользователей об ответах на их комментарии.Да
rc_email_subject_createdbyТема письма автору о новом комментарии к его ресурсуНовый комментарий к вашей публикации
rc_email_subject_managerТема письма менеджерам о новом комментарииНовый комментарий
rc_email_subject_userТема письма пользователю о новом ответе на его комментарий.Ответ на ваш комментарий
rc_email_tpl_createdbyЧанк-шаблон письма автору публикации.rc_tpl_email_author
rc_email_tpl_managerЧанк-шаблон письма менеджерамrc_tpl_email_manager
rc_email_tpl_userЧанк-шаблон письма пользователюrc_tpl_email_user

Сниппет resComments

Выводит комментарии к ресурсу, подключает все необходимые скрипты и стили. Вызывается некешированным:

[[!resComments]]

На Fenom:

{'!resComments' | snippet : []}

С pdoPage:

<div id="pdopage">
    <div class="rows">
        [[!pdoPage?
            &element=`resComments`
        ]]
    </div>
    [[!+page.nav]]
</div>

Параметры сниппета (перекрывают системные настройки).

ПараметрОписаниеЗначение по умолчанию
docidID ресурса.Текущий
topicТема (ветка). Должна быть уникальна в рамках сайта.comments-## (## - ID ресурса)
allowAllВсе посетители могут добавлять комментарии (0 - только авторизованные).1
maxLevelМаксимальный уровень вложенности комментариев.50
maxShiftLevelМаксимальный уровень, после которого не будет происходить визуальный сдвиг ответов.10
titleЗаголовок блока комментариев.[[%rescomments_block_title]]
addTextТекст на кнопке добавления комментария.[[%rescomments_add]]
replyTextТекст на кнопке ответа на комментарий.[[%rescomments_reply]]
requiredОбязательные поля для отправки формы.name, email, text, agree
autopublishПубликовать ли комментарии и ответы сразу после добавления1
antispamFieldПоле для защиты от СПАМа.comment_subject
deleteTimeВремя в секундах, в течение которого пользователь может удалить свой комментарий (если на него не получен ответ).600
hideRepliesСкрывать ответы на комментарии при открытии страницы.
Выводятся только комментарии первого уровня. Если есть ответы, выводится их количество и кнопка "Развернуть".
0
sortbyСортировка в JSON-формате.{"createdon":"DESC"}
limitКоличество на страницу.10
offsetСдвиг от начала.0
Шаблоны
tplЧанк-шаблон комментария.rc_tpl_comment
tplWrapperЧанк-шаблон обертки всех комментариев.rc_tpl_wrapper
tplFormЧанк-шаблон формы добавления комментария.rc_tpl_form
tplDeleteЧанк-шаблон кнопки удаления комментария.rc_tpl_delete
tplRepliesInfoЧанк-шаблон вывода блока количества ответов на комментарий и кнопки «Развернуть».rc_tpl_replies_info
Уведомления
emailToадреса менеджеров[[++emailsender]]
emailFromотправитель уведомлений[[++site_name]]
emailManagerУведомлять ли менеджеров о новых комментариях.1
emailAuthorУведомлять ли авторов публикаций о новых комментариях.1
emailUserТема ли авторов комментариев об ответах на их комментарии.0
emailSubjectAuthorТема письма автору о новом комментарии к его ресурсу.Новый комментарий к вашей публикации
emailSubjectManagerТема письма менеджерам о новом комментарии.Новый комментарий
emailSubjectUserТема письма пользователю о новом ответе на его комментарий.Ответ на ваш комментарий
emailTplAuthorЧанк-шаблон письма автору публикации.rc_tpl_email_author
emailTplManagerЧанк-шаблон письма менеджерам.rc_tpl_email_manager
emailTplUserЧанк-шаблон письма пользователю.rc_tpl_email_user

В чанках поддерживается стандартный синтаксис и Fenom.
Шаблоны, идущие в комплекте, адаптированы под Bootstrap.

События плагинов

СобытиеОписание
rcOnBeforeCreateCommentВызывается перед созданием комментария.
Принимает массив $data с данными, отправленными из формы.
Можно обработать и вернуть через $modx->event->returnedValues = $data;
rcOnAfterCreateCommentВызывается после создания комментария. Принимает $object — объект созданного комментария.