Создание собственных действий Rules в Drupal 7
Опубликовано: 29.07.2017
Очень большую популярность приобрел замечательный модуль Rules . Он позволяет реагировать на определенные события, добавлять условия и выполнять в зависимости от них действия.
5. САЙТ НА DRUPAL 8. Создание страниц.
В Rules оперируют 3-мя сущностями:
событие (авторизация пользователя, удаление ноды и т.д.) условие (тип ноды, роль пользователя и т.д.) действие (создание ноды, обновление значения поля, редирект и т.д.)Модуль Rules имеет очень хороший API, который позволяет расширять стандартный набор модуля. Следующий код добавляет свое действие, по очистке сообщений установленных через drupal_set_message.
The Great Gildersleeve: Disappearing Christmas Gifts / Economy This Christmas / Family Christmas
/** * @file * Extension of rules */ /** * Implements hook_rules_action_info */ function extend_rules_action_rules_action_info() { return array( 'clear_messages' => array( 'label' => t('Clear message'), // название 'group' => t('System'), // группа в которой будет отображаться 'base' => 'extend_rules_action_clear_message', // callback 'parameter' => array( 'user' => array('type' => 'user', 'label' => t('User')), // параметр для выбора пользователя 'node' => array('type' => 'node', 'label' => t('Node')), // параметр для выбора ноды ), ), ); } /** * Rule clear_message callback */ function extend_rules_action_clear_message($user, $node) { drupal_get_messages(); }
В реализации хука hook_rules_action_info определяется основная информация действия. Подробности описаны в комментариях. Элемент parameter позволяет создать форму настройки действия, в которой можно выбрать значения которые будут доступны в callback функции.