2011-02-04 2 views
1

Existe-t-il un moyen d'exécuter une action Rules dans le code?Exécuter la règle directement (contourner les règles + workflow)

J'ai un ensemble de règles qui envoient un courriel à l'auteur lorsqu'un certain état du flux de travail a été atteint. Dans la logique des règles pseudo:

Event: After updating existing content 
IF NOT [node:workflow-old-state-name] == [node:workflow-current-state-name] 
AND [node:workflow-current-state-name] == Published 
DO E-mail Author 

Qui fonctionne très bien. Sauf, j'appelle workflow_execute_transition directement dans certains endroits. Cela n'exécute pas ma règle car ce n'est pas After updating existing content. Je voudrais exécuter manuellement l'action de ma règle (en ignorant les conditions) après avoir appelé workflow_execute_transition. Possible?

Tout cela ressemble à un peu d'une solution de contournement. Pourquoi les règles n'ont-elles pas de déclencheurs pour l'état du flux de travail? Le workflow est correctement représenté dans le module Trigger du core, mais pas ici dans Rules.

Répondre

0

Bien ... s'avère que les règles ont un événement Workflow state has changed. J'étais juste une version derrière.

Donc, cela résout ce problème, maintenant que workflow_execute_transition déclenche correctement la règle.

Beaucoup plus propre maintenant!

Questions connexes