Обработчики статусов
Введение
Каждый результат в обязательном порядке должен обладать тем или иным статусом. При создании результата новый статус назначается в соответствии с флагом Присваивать данный статус всем новым документам по умолчанию (данный флаг может быть установлен только у одного статуса). В процессе работы статус у результата может меняться.
Для того, чтобы перехватить и обработать подобные смены статусов, в модуле Веб-формы существует возможность указать файл-обработчик каждой такой смены. В коде такого обработчика можно использовать любую функцию системы и выполнять любое действие, например:
- создавать почтовые события, предназначенные для отправки e-mail сообщений;
- производить привязку пользователя, изменившего статус, к другой группе пользователей (например, для того, чтобы открыть доступ к определённым частям сайта);
- другие действия.
Файлы-обработчики
Файлы-обработчики представляют собой PHP-скрипты, которые подключаются в момент смены статуса. Они могут располагаться в любом каталоге относительно корня сайта; например, в каталоге /bitrix/php_interface/include/form/handlers/.
Для того, чтобы задать файл-обработчик, необходимо перейти на страницу редактирования параметров того или иного статуса. На данной странице будут доступны следующие параметры:
- Файл-обработчик смены данного статуса на какой либо другой (либо удаление результата) - данный параметр может содержать путь относительно корня к файлу-обработчику, который будет подключен при смене у какого-либо результата данного статуса на иной статус; также он будет подключен при удалении результата, находящегося в данном статусе;
- Файл-обработчик смены какого либо статуса на данный (либо добавление нового результата) - данный параметр может содержать путь относительно корня к файлу-обработчику, который будет подключен при смене у результата произвольного статуса на данный; также он будет подключен при создании нового результата и установки у него данного статуса.
Доступные переменные
Для обработчика, указанного в параметре "Файл-обработчик смены данного статуса на какой либо другой (либо удаление результата)", будут доступны следующие переменные.
Переменная | Описание |
---|---|
$CURRENT_STATUS_ID | ID текущего статуса результата (до его смены). |
$NEW_STATUS_ID | ID нового статуса, на который будет произведена смена. |
$RESULT_ID | ID результата, над которым происходит действие по смене статуса. |
$arResult | Массив, описывающий поля этого результата. |
$ACTION | Символьный код действия, производимого над результатом. Допустимы следующие значения:
|
Для обработчика, указанного в параметре "Файл-обработчик смены какого либо статуса на данный (либо добавление нового результата)", будут доступны следующие переменные.
Переменная | Описание |
---|---|
$CURRENT_STATUS_ID | ID текущего статуса. |
$PREV_STATUS_ID | ID предыдущего статуса. |
$RESULT_ID | ID результата, над которым происходит действие по смене статуса. |
$arResult | Массив, описывающий поля этого результата. |
$ACTION | Символьный код действия, производимого над результатом. Допустимы следующие значения:
|
Илья Артемьев
|
Важно, файл обработчик должен содержать шаблон страницы. Иначе он не подключится.
|
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.