Модуль Rules призначений для створення правил обробки даних, які викликаються при виникненні тих чи інших подій на сайті. Як події можуть виступати: вхід користувача на сайт, створення матеріалу певного типу, і т.д.
Але іноді можуть виникати умови, коли стандартний набір подій не може дозволити вирішити поставлену задачу. В такому випадку можна створити власну подію.
Для початку створимо подія. Для цього створимо реалізацію наступного хука:
Подія, створене даними хуком буде отримувати два вхідних параметра: об'єкт облікового запису користувача, і об'єкт Ноди. Ці два об'єкти в подальшому будуть доступні в стандартному діалозі створення правила Rules.
Для того, щоб описане в хук подія змогло працювати, необхідно в потрібному ділянці коду (у власному модулі або сніпеті) описати виклик тригера події. Для цього необхідно вказати наступний рядок коду:
Як параметри передаємо об'єкт облікового запису користувача і повний об'єкт Ноди.
Тепер розглянемо, як можна налаштувати нове правило з використанням власного події. Для початку перейдемо на сторінку створення нового правила. У вкладці React on event буде доступна опція: Send email on custom event.
Якщо ми перейдемо до процесу створення реакції на подію, то серед доступного набору даних побачимо об'єкти Ноди і облікового запису користувача, які ми оголосили в хук, і в які передавали значення за допомогою rules_invoke_event
Таким чином, за допомогою механізму власних подій, можна інтегрувати практично будь-який кастомний функціонал з модулем Rules.