OnBeforeSocNetLogCommentAdd
bool функция-обработчик( array &arFields );
Событие OnBeforeSocNetLogCommentAdd вызывается перед проверкой полей комментария. Его отправляет метод CSocNetLogComments::Add модуля socialnetwork. Обработчик может изменить поля комментария или отменить его добавление.
После успешного добавления комментария модуль вызывает событие OnAfterSocNetLogCommentAdd.
Параметры события
| Параметр | Описание |
|---|---|
| arFields | Массив полей комментария. Обработчик получает его по ссылке. Ключ LOG_ID — идентификатор записи Живой ленты |
Возвращаемое значение
Если обработчик возвращает false, метод CSocNetLogComments::Add прекращает работу. Он возвращает false без добавления комментария. При любом другом результате метод продолжает работу.
Метод передает обработчику свой локальный массив полей по ссылке. Изменения массива влияют на дальнейшую обработку комментария. Вызывающий код передает массив в CSocNetLogComments::Add по значению. Обработчик не меняет этот исходный массив.
Пример
Пример запрещает добавлять комментарии к записи Живой ленты с идентификатором 123.
<?php
use Bitrix\Main\EventManager;
EventManager::getInstance()->addEventHandlerCompatible(
'socialnetwork',
'OnBeforeSocNetLogCommentAdd',
static function (array &$fields): bool
{
if ((int)($fields['LOG_ID'] ?? 0) === 123)
{
return false;
}
return true;
},
);