Документация для разработчиков
Темная тема

onBeforeVoteAnswerUpdate

Событие вызывается в методе \CVoteAnswer::Update перед изменением ответа.

Пример использования


Например, у нас есть группа опросов futboll.png по спортивной тематике.


// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("vote", "onBeforeVoteAnswerUpdate", ["MyClassForVote", "onBeforeVoteAnswerUpdateHandler"]);

class MyClassForVote
{
	public static function onBeforeVoteAnswerUpdateHandler($id, &$fields)
	{
		// Аргумент $fields передан по ссылке, т.е. изменяя данные $fields, вы влияете на сохранённые данные.
		$channel = getChannelByQuestionId($fields["QUESTION_ID"]); // ф-ция, возвращающая массив CHANNEL
		if (
			$channel["ID"] == 6 // Например, для опросов группы (с номером 6) по спортивной тематике
			&&
			empty($fields["IMAGE_ID"]) // и пустой картинкой
		)
		{
			// будем Возвращать ошибку загрузки
			global $APPLICATION;
			$APPLICATION->throwException("Ай-ай-ай! Нехорошо писать ответы в этой группе без картинки. ");
			return false;
		}
	}
}


© «Битрикс», 2001-2024, «1С-Битрикс», 2024