Добавление системы комментариев на сайте
Компонент Комментарии позволяет прикрепить к любой сущности возможность комментирования и хранения истории заметок по данной сущности.
ОБНОВЛЕНИЕ Ноябрь 2021. Добавлены возможности прикрепления файлов и отметки, и обновлены системные процедуры комментариев. Добавлены столбцы в as_comments - https://pastebin.com/N3JLPPJL
Также есть возможность отмечать цветными тегами записи.
Для работы комментариев необходимо указать следующий сниппет:
<div class="as-comments" data-itemid="1234" data-type="{typeCode}" data-inline="1" data-reverse="1"></div>
1. data-itemID - ID некой сущности, к которой привязаны комментарии
2. data-type - код типа комментариев (создается в Панели управления в разделе Типы комментариев)
3. data-inline - если 1, то комментарии выводятся в контейнере (иначе они будут открываться в popover окне при клике на ссылку).
4. data-reserve - если 1, то порядок будет от свежих к старым и окно добавления будет сверху от блока комментариев.
Также необходимо в разделе Управление комментариями создать запись с соответствующим typeCode.
Здесь вы можете настроить доступ на просмотр комментариев, возможность добавлять и удалять комментарии.
Также вы можете настроить какие теги будут у данного типа.
Есть опция по включению тега напоминания. Если она включена, то вы можете добавлять комментарии с указанием даты напоминания об этой записи.
Когда настанет этот день, то вам придет уведомление через систему уведомлений.
Примечания
Код комментариев typeCode также используется для построения комментариев в компоненте Таблица.
Если data-itemID - пустая строка или “0”, то комментарии не выводятся!
Комментарии можно раскрашивать. При добавлении программно - через хранимую процедуру (параметр @color). Пользователь может красить комментарии через теги.
Настройка комментариев через SP GetOptions
Более гибкую настройку комментариев можно сделать за счет процедуры comments_{code}_getOptions. Пример:
CREATE PROCEDURE [dbo].[comments_client_getOptions]
@code nvarchar(64),
@itemID nvarchar(128),
@username nvarchar(128)
as begin
-- SELECT 1 CommentType: id, code, viewRoles, addRoles, deleteRoles, canDeleteOwnComments, notifyTag
select *
from as_commentTypes where code = @code
-- SELECT 2 Tags
select * from as_commentTags where typeID in (select id from as_commentTypes where code = @code )
end
SELECT 1 возвращает настройки типа комментариев, а также enableCheck (возможность отмечать комментарии) и enableFiles (прикрепление файлов).
SELECT 2 возвращает теги, привязанные к типу комментариев
В процедуру передается itemID текущей сущности, к которой крепится блок комментариев, таким образом вы сможете управлять блоком более гибко в плане прав и настроек.
ВАЖНО. Если роли доступа поставить пустыми - то это означает, что данная операция будет доступна всем (т.е. отключена будет проверка).
Настройка кнопок Отметить у комментариев
Данная кнопка служит для отслеживания неких заметок в комментариях (чтобы не забыть их сделать или реализовать).
При добавлении есть галочка нужен флажок или нет у добавляемого комментария. При установке флажка у комментария появляется переключатель Да/Нет.
Его можно отмечать и у комментария проставляется дата простановки переключателя и кто это сделал.
Для возможности добавления этих переключателей в GetOptions в SELECT 1 надо установить enableCheck=1.
Также в процедуре проверки прав проверяем право check (может ли данный пользователь устанавливать данный переключатель).
Демостенд комментариев с переключателями - https://demo.web-automation.ru/list/watch/kommentarii-s-flazhkami---111
Прикрепление файлов к комментариям
Для возможности прикрепления файлов необходимо реализовать следующее:
1. В GetOptions в SELECT 1 добавить EnableFiles = 1
2. Создать и настроить 2 менеджера ресурсов {code}CommentView (для вывода загруженных файлов к комментарию), {code}CommentUpload (для поля добавления комментария).
В итоге к комментарию можно будет добавлять файлы.
ВАЖНО. В as_comments должно быть поле guid типа uniqueidentifier (к нему цепляются файлы комментария)
Дополнительная процедура проверки доступа hasRight
Для более тонкой настройки доступа к комментариям вы можете использовать хранимые процедуры вида comments_{typeCode}_hasRight.
На входе string username, string right (view, add, delete, check) и int itemID. На выходе - ResultModel (bool Result, string Msg). Выполняется только в случае, если базовая проверка по ролям прошла успешно.
CREATE PROCEDURE [dbo].[comments_client_hasRight]
@itemID nvarchar(128),
@right nvarchar(64), -- view, add, delete, check
@username nvarchar(128)
as begin
-- WARNING If SP exists - then rights check here (use only we haму access by default roles settings)
-- SELECT 1
select 1 Result, '' Msg
end
SQL коллбек после добавления комментария
После добавления комментария можно реализовать дополнительную хранимую процедуру comments_{code}_afterAdd (например для уведомления пользователя о комментарии). Редактировать ее можно в Управлении типами комментариев.
На входе: @itemID, @code, @text, @username
На выходе: SELECT 1 с result, msg и SELECT 2 Внешние действия
CREATE PROCEDURE [dbo].[comments_client_afterAdd]
@itemID nvarchar(64),
@code nvarchar(32),
@text nvarchar(max),
@username nvarchar(32)
AS
BEGIN
-- выполняется после добавления комментария
insert into as_trace(header, code)
values( @code +' ' + @itemID + ' '+ @username , 'comment')
Select '' Msg, 1 Result
END
Подмена стандартных процедур выборки комментариев
Также вы можете подменить стандартные процедуры GetComments, AddComment, DeleteComment на свои. Это делается на странице /commenttypes. Это может быть полезным, когда вы хотите брать комментарии из другого источника.
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем Настройка уведомлений для личного кабинета на сайте HOWTO. Как настроить чат помощи для пользователей Внедрение чата в личный кабинет пользователя Добавление системы комментариев на сайте Телеграм боты и отправка сообщений в Telegram в веб-платформе Falcon Space Как создать чат бот ВКонтакте. VK бот для обработки сообщений в группе. Как сделать push уведомление Как отправить Email, SMS или уведомление пользователю Как отправлять SMS с сайта через smsc.ru Отправка email с шаблоном письма Как сделать ежедневную отправку отчета по проекту в групповой чат Telegram? Настройки почты для отправки сообщений с сайта Видеочат. Интеграция с Vox Implant Базовая интеграция с Jitsi Meet (звонки с видео) Отправка СМС через targetsms.ru Как сделать механизм отправки различных писем по шаблону с возможностью редактирования перед отправкой
- Дизайн, стилизация
- API, Интеграции
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- HOWTO
- HOWTO Таблицы
- HOWTO Формы
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы