Програмний виконати набір дій (Правила модуль)


23

Я хочу використовувати інтерфейс правил для визначення деяких наборів дій, але хочу виконувати ці дії програмно із спеціального модуля.

Як я виконати дію за допомогою коду і передати необхідні аргументи (тільки вузол в даному випадку).

Спасибі!

Відповіді:


26

Якщо ви створили його як компонент правил, ви можете використовувати rules_invoke_componentальтернативну можливість викликати подію, яка може викликати неодноразові правила за допомогою rules_invoke_event.

Обидва схожі тим, що ви передаєте перше ім’я / id, а решта аргументів передаються вздовж, так що щось подібне

 rules_invoke_component('name', $node);

rules_invoke_component('rules_save_search_send_activation_sms',  'paramval1', 'paramval2', ....);

правильно, як вам це потрібно зробити. Це знову залежить від того, як визначено та налаштовано правило / компонент.


Thanks, that was exactly the function I was looking for. I had to pass the argument directly, though - probably because I just have one arg configured in the component. rules_invoke_component('rules_mycomponent', $node);
valderama

@valderama, здорово я оновив свій відповідь в разі , якщо інші потребують тієї ж самої інформації.
googletorp

Це працює для drupal 6?

rules_invoke_eventrules_invoke_component
googletorp

якщо у вас є спеціальний компонент правила, передайте параметри один за одним і розділіть їх прикладом з комамиrules_invoke_component('rules_save_search_send_activation_sms', 'test ', '93333333333');
Yusef
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.