Skip to content

Commit 73fbcd0

Browse files
authored
Merge pull request #868 from rpadesign/master
Create rescomments.md
2 parents 9f4ac33 + c76d614 commit 73fbcd0

1 file changed

Lines changed: 118 additions & 0 deletions

File tree

docs/components/rescomments.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
title: reComments
3+
description: Многоуровневые комментарии с пагинацией для MODX3
4+
logo: https://file.modx.pro/files/a/9/4/a9499643bf99f8080a37405836d0a504.png
5+
author: Romanov Pavel
6+
modstore: https://modstore.pro/packages/utilities/rescomments
7+
---
8+
9+
# resComments
10+
Многоуровневые комментарии с пагинацией для ресурсов MODX3.
11+
12+
## Основные свойства
13+
- Неограниченная вложенность
14+
- Несколько вызовов на странице
15+
- Оценка публикации ("звездный" рейтинг)
16+
- Оценки и рейтинг ответов
17+
- WYSIWYG-редактор [Pell](https://github.com/jaredreich/pell)
18+
- Разметка Schema.org
19+
- Возможность удаления собственных комментариев
20+
- Email-уведомления менеджеру сайта, автору публикации, автору комментария об ответах
21+
- Пагинация (с pdoPage)
22+
- Работает без jQuery (за исключением связки с pdoPage)
23+
- Настраиваемые всплывающие уведомления
24+
- Приложение в админке с поиском, фильтрацией и возможностью создания / удаления / редактирования (включая ответы разных уровней)
25+
- Вкладка "Комментарии" у ресурсов с указанными шаблонами
26+
- Вкладка "Комментарии" у ресурсов с указанными ID
27+
28+
## Системные настройки
29+
| Параметр | Описание | Значение по умолчанию |
30+
| :----- | :----- |:------ |
31+
| **rc_antispam_field** | Поле для защиты от СПАМа (проверяется на пустоту) | comment_subject |
32+
| **rc_autopublish** | Автопубликация без модерации | 1 |
33+
| **rc_notifications** | Скрипт для всплывающих уведомлений.<br>Поддерживаются [Notyf](https://github.com/caroso1222/notyf) и [SweetAlert2](https://modstore.pro/packages/alerts-mailing/sweetalert2) (требуется установка). Также можно указать miniShop3, FetchIt или AjaxForm для использования уведомлений этих компонентов (если они установлены). | Notyf |
34+
| **rc_js_url** | Путь к JS-файлу от корня сайта. |`{assets_url}components/rescomments/js/web/default.min.js` |
35+
| **rc_css_url** | Путь к JS-файлу от корня сайта. | `{assets_url}components/rescomments/css/web/default.min.css` |
36+
| **rc_tab_tpl** | У каких шаблонов выводить вкладку "Комментарии", ID через запятую.<br>Поставьте `all`, чтобы вкладка выводилась для всех шаблонов, оставьте пустым, чтобы не выводить. | |
37+
| **rc_tab_resources** | У каких ресурсов выводить вкладку "Комментарии", ID через запятую. | |
38+
| **rc_email_send_createdby** | Уведомлять ли создателя ресурса о новых комментариях (определяется по createdby). | Нет |
39+
| **rc_email_send_manager** | Уведомлять ли менеджеров о новых комментариях. | Да |
40+
| **rc_email_send_user** | Уведомлять ли пользователей об ответах на их комментарии. | Да |
41+
| **rc_email_subject_createdby** | Тема письма автору о новом комментарии к его ресурсу | Новый комментарий к вашей публикации |
42+
| **rc_email_subject_manager** | Тема письма менеджерам о новом комментарии | Новый комментарий |
43+
| **rc_email_subject_user** |Тема письма пользователю о новом ответе на его комментарий. | Ответ на ваш комментарий |
44+
| **rc_email_tpl_createdby** | Чанк-шаблон письма автору публикации. | `rc_tpl_email_author` |
45+
| **rc_email_tpl_manager** | Чанк-шаблон письма менеджерам | `rc_tpl_email_manager`|
46+
| **rc_email_tpl_user** | Чанк-шаблон письма пользователю | `rc_tpl_email_user`|
47+
48+
## Сниппет resComments
49+
Выводит комментарии к ресурсу, подключает все необходимые скрипты и стили.
50+
Вызывается некешированным:
51+
```
52+
[[!resComments]]
53+
```
54+
На Fenom:
55+
```
56+
{'!resComments' | snippet : []}
57+
```
58+
59+
С **pdoPage**:
60+
```
61+
<div id="pdopage">
62+
<div class="rows">
63+
[[!pdoPage?
64+
&element=`resComments`
65+
]]
66+
</div>
67+
[[!+page.nav]]
68+
</div>
69+
```
70+
71+
Параметры сниппета (перекрывают системные настройки)
72+
| Параметр | Описание | Значение по умолчанию |
73+
| :----- | :----- | :----- |
74+
| **docid** | ID ресурса. | Текущий |
75+
| **topic** | Тема (ветка). Должна быть уникальна в рамках сайта. | comments-## (## - ID ресурса) |
76+
| **allowAll** | Все посетители могут добавлять комментарии (0 - только авторизованные).| 1 |
77+
| **maxLevel** | Максимальный уровень вложенности комментариев. | 50 |
78+
| **maxShiftLevel** | Максимальный уровень, после которого не будет происходить визуальный сдвиг ответов. | 10 |
79+
| **title** | Заголовок блока комментариев. | `[[%rescomments_block_title]]` |
80+
| **addText** | Текст на кнопке добавления комментария. | `[[%rescomments_add]]` |
81+
| **replyText** | Текст на кнопке ответа на комментарий. | `[[%rescomments_reply]]` |
82+
| **required | Обязательные поля для отправки формы. | `name, email, text, agree` |
83+
| **autopublish** | Публиковать ли комментарии и ответы сразу после добавления | 1 |
84+
| **antispamField** | Поле для защиты от СПАМа. | `comment_subject` |
85+
| **deleteTime** | Время в секундах, в течение которого пользователь может удалить свой комментарий (если на него не получен ответ). | 600 |
86+
| **hideReplies** | Скрывать ответы на комментарии при открытии страницы.<br>Выводятся только комментарии первого уровня. Если есть ответы, выводится их количество и кнопка "Развернуть". | 0 |
87+
| **sortby** | Сортировка в JSON-формате. | `{"createdon":"DESC"}` |
88+
| **limit** | Количество на страницу. | 10 |
89+
| **offset** | Сдвиг от начала. | 0 |
90+
| &nbsp; | | |
91+
| **Шаблоны** | | |
92+
| **tpl** | Чанк-шаблон комментария. | `rc_tpl_comment` |
93+
| **tplWrapper** | Чанк-шаблон обертки всех комментариев. | `rc_tpl_wrapper` |
94+
| **tplForm** | Чанк-шаблон формы добавления комментария. | `rc_tpl_form` |
95+
| **tplDelete** | Чанк-шаблон кнопки удаления комментария. | `rc_tpl_delete` |
96+
| **tplRepliesInfo** | Чанк-шаблон вывода блока количества ответов на комментарий и кнопки «Развернуть». | `rc_tpl_replies_info` |
97+
| &nbsp; | | |
98+
| **Уведомления** | | |
99+
| **emailTo** | адреса менеджеров | `[[++emailsender]]` |
100+
| **emailFrom** | отправитель уведомлений | `[[++site_name]]` |
101+
| **emailManager** | Уведомлять ли менеджеров о новых комментариях. | 1 |
102+
| **emailAuthor** | Уведомлять ли авторов публикаций о новых комментариях. | 1 |
103+
| **emailUser** | Тема ли авторов комментариев об ответах на их комментарии. | 0 |
104+
| **emailSubjectAuthor** | Тема письма автору о новом комментарии к его ресурсу. | Новый комментарий к вашей публикации |
105+
| **emailSubjectManager** | Тема письма менеджерам о новом комментарии. | Новый комментарий |
106+
| **emailSubjectUser** | Тема письма пользователю о новом ответе на его комментарий. | Ответ на ваш комментарий |
107+
| **emailTplAuthor** | Чанк-шаблон письма автору публикации. | `rc_tpl_email_author` |
108+
| **emailTplManager** | Чанк-шаблон письма менеджерам. | `rc_tpl_email_manager` |
109+
| **emailTplUser** | Чанк-шаблон письма пользователю. | `rc_tpl_email_user` |
110+
111+
В чанках поддерживается стандартный синтаксис и Fenom.
112+
Шаблоны, идущие в комплекте, адаптированы под Bootstrap.
113+
114+
## События плагинов
115+
| Событие | Описание |
116+
|---------|----------|
117+
| **rcOnBeforeCreateComment** | Вызывается перед созданием комментария.<br>Принимает массив `$data` с данными, отправленными из формы.<br>Можно обработать и вернуть через `$modx->event->returnedValues = $data;` |
118+
| **rcOnAfterCreateComment** | Вызывается после создания комментария. Принимает `$object` — объект созданного комментария. |

0 commit comments

Comments
 (0)