Обработчики статусов
Введение
Каждый результат в обязательном порядке должен обладать тем или иным статусом. При создании результата новый статус назначается в соответствии с флагом Присваивать данный статус всем новым документам по умолчанию (данный флаг может быть установлен только у одного статуса). В процессе работы статус у результата может меняться.
Для того, чтобы перехватить и обработать подобные смены статусов, в модуле Веб-формы существует возможность указать файл-обработчик каждой такой смены. В коде такого обработчика можно использовать любую функцию системы и выполнять любое действие, например:
- создавать почтовые события, предназначенные для отправки 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 | Символьный код действия, производимого над результатом. Допустимы следующие значения:
|