Инструменты пользователя

Инструменты сайта


bitrix_comments:developers

Это старая версия документа!


💻 Разработчикам

🏗️ Архитектура

Принцип работы

┌─────────────────────────────────────────────────────────────┐
│                    Пользовательский интерфейс               │
│  (Компоненты: form, list для отзывов, комментариев, рейтинг)│
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│                    Контроллеры (AJAX)                       │
│  (Action-контроллеры для save, get, delete)                 │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│              Бизнес-логика (Models)                         │
│  (Comment, Review, Rating, Channels, MailEvents)            │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│                    ORM Таблицы                              │
│  (CommentsTable, ReviewsTable, RatingsTable, ChannelsTable) │
└─────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────┐
│                    База данных                              │
│  (chililab_comments_* таблицы)                              │
└─────────────────────────────────────────────────────────────┘

Компоненты

Компонент Описание Параметры
chililab:page.reviews.form Форма добавления отзыва IBLOCK_ID, ELEMENT_ID, CACHE_TIME
chililab:page.reviews.list Список отзывов IBLOCK_ID, ELEMENT_ID, CACHE_TIME
chililab:page.comments.form Форма добавления комментария IBLOCK_ID, ELEMENT_ID, CACHE_TIME
chililab:page.comments.list Список комментариев IBLOCK_ID, ELEMENT_ID, CACHE_TIME
chililab:page.ratings Рейтинг страницы IBLOCK_ID, ELEMENT_ID, CACHE_TIME

Основные классы

Компонент Файл Описание
Comment lib/classes/Comment.php Управление комментариями
Review lib/classes/Review.php Управление отзывами
Rating lib/classes/Rating.php Управление рейтингами
Channels lib/classes/Channels.php Управление Telegram каналами
MailEvents lib/classes/MailEvents.php Отправка почтовых событий
TelegramChannel lib/classes/TelegramChannel.php Взаимодействие с Telegram API
User lib/classes/User.php Работа с пользователями
Page lib/classes/Page.php Управление страницами и кэшированием
Site lib/classes/Site.php Работа с сайтами (мультисайтовость)
Tools lib/classes/Tools.php Утилиты (plural, mb_str_pad)
CsvHelper lib/classes/CsvHelper.php Экспорт/импорт CSV

Таблицы БД

Таблица Описание Основные поля
chililab_comments_comments Комментарии ID, NAME, TEXT, USER_ID, PARENT_ID, DEPTH_LEVEL
chililab_comments_reviews Отзывы ID, NAME, TEXT, RATING, LIKES, DISLIKES, ANSWER
chililab_comments_ratings Рейтинги ID, USER_ID, RATING, ELEMENT_ID, IBLOCK_ID
chililab_comments_channels Telegram каналы ID, CHANNEL_CODE, SECURE_CODE, STATUS
chililab_comments_channel_events События каналов ID, CODE, EVENT_TYPE

Не у всех сущности можно редактировать привязку к URL и к элементам. Например, у комментария это сделать нельзя, так как правка одного комментария должна приводить к каскадной правки других комментариев в цепочке (на комментарии же можно отвечать). Подробнее про это в задаче: https://desk.chilihelp.ru/tasks/view/29553#comment-244187

</ifauth>

bitrix_comments/developers.1774789251.txt.gz · Последнее изменение: admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki