Полноценные комментарии D7 под Битрикс
 

Документация

API / События

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

Все события выбрасываются от имени модуля «burlakastudio.realcommenter», события формируются через ядро D7, второй версии. Пример кода, который добавляет слушателя события:


$eventManager = \Bitrix\Main\EventManager::getInstance();

$eventManager->addEventHandler(
	'burlakastudio.realcommenter',
	'OnBeforeCommentAdd',
	[ 'MyFriendlyClass', 'OnBeforeCommentAdd' ]
);
	

OnBeforeBurnTemplateHTML

Через данное событие пробрасываются все значимые html-блоки при сборке для публикации:

  • дерева обсуждения (части шапки, комментарий, блок ответа);
  • блоки, имеющие отношение к загрузке фотографий и их отображению;
  • постраничная навигация;
  • видео блоки Ютюба и Вимео.

Код выброса события:

Вспомогательные схемы html-шаблонов

Синим выделены названия html-шаблонов, по которым можно ориентироваться при подписывании на событие. Название передаётся в параметре события html_name.

OnBeforeCommentHeaderBurn

Шаблон и ключи перед формированием html-кода шапки комментария.

По событию получаем ключи:

  • commentHeaderTpl (html-шаблон шапки комментария, указатель на объект);
  • keyValuesForReplace (массив ключей-значений, которые будут заменены в шаблоне через str_replace. Указатель на объект);
  • arParams;
  • nodeInfo.

OnBeforeCommentStructBurn

Шаблон и ключи перед формированием html-кода комментария в дереве обсуждения.

По событию получаем ключи:

  • commentStructTpl (html-шаблон узла в дереве комментариев, указатель на объект);
  • keyValuesForReplace (массив ключей-значений, которые будут заменены в шаблоне через str_replace. Указатель на объект);
  • arParams;
  • nodeInfo.

OnBeforeVotesBlockBurn

Шаблон и ключи перед формированием html-кода блока голосования.

По событию получаем ключи:

  • voteblockTpl (html-шаблон блока с голосованием, указатель на объект);
  • keyValuesForReplace (массив ключей-значений, которые будут заменены в шаблоне через str_replace. Указатель на объект);
  • arParams;
  • nodeInfo.

OnBeforeCommentFormPlace

Данное событие вызывается перед передачей кода формы комментирования результату аякс-вызова. В событие пробрасывается указатель на скомпилированный html-код и параметры.

Код выброса события:

OnBeforeCommentAdd

Данное событие вызывается перед добавлением комментария.

Код выброса события:

OnAfterCommentAdd

Данное событие вызывается после добавления комментария.

Код выброса события:

OnBeforeCommentUpdate

Данное событие вызывается перед обновлением комментария.

Код выброса события:

OnAfterCommentUpdate

Данное событие вызывается после обновления комментария.

Код выброса события:

OnBeforeCommentDelete

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

Код выброса события:

OnAfterCommentDelete

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

Код выброса события:

OnBeforeCommentChangeActivity

Данное событие вызывается перед изменением активности комментария. Важно понимать, что создание комментария не является фактом смены активности. Примером смены активности может быть ситуация, когда например комментарий становится неактивным вследствие действий администратора.

Код выброса события:

OnAfterCommentChangeActivity

Данное событие вызывается после изменения активности комментария. Важно понимать, что создание комментария не является фактом смены активности. Примером смены активности может быть ситуация, когда например комментарий становится неактивным вследствие действий администратора.

Код выброса события:

OnBeforeUrlUpdate

Данное событие вызывается перед обновлением или созданием (!!!) новой ветки обсуждения (по урлу страницы).

Код выброса события:

OnAfterUrlUpdate

Данное событие вызывается после обновления или создания (!!!) новой ветки обсуждения (по урлу страницы).

Код выброса события:

OnBeforeVoteAdd

Данное событие вызывается перед регистрацией нового голоса в системе голосования по комментарию.

Код выброса события:

OnAfterVoteAdd

Данное событие вызывается после регистрации нового голоса в системе голосования по комментарию.

Код выброса события:

OnBeforeSortAndFilterBurn

Шаблон и ключи перед формированием html-кода панели фильтрации и сортировки.

По событию получаем ключи:

  • commentStructTpl (html-шаблон панели фильтрации и сортировки, указатель на объект);
  • keyValuesForReplace (массив ключей-значений, которые будут заменены в шаблоне через str_replace. Указатель на объект);
  • arParams.