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

onBeforeVoteAnswerAdd

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

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


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


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

class MyClassForVote
{
	public static function onBeforeVoteAnswerAddHandler(&$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
Наверх