我有一套规则，当某个工作流状态到达时，通过电子邮件发送作者。 在伪规则逻辑中：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
哪个工作得很好。 除此之外，我在某些地方直接调用workflow_execute_transition 。 这不会执行我的规则，因为它不是After updating existing content 。 在调用workflow_execute_transition之后，我想手动执行规则的操作（绕过条件）。 可能？
这一切都感觉像是一种解决方法。 为什么规则没有工作流状态更改的触发器？ 工作流在核心的Trigger模块中正确表示，但在Rules中没有。
Is there a way to execute a Rules action in code?
I have a set of rules that e-mail the author when a certain Workflow state has been arrived at. In pseudo Rules logic: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
Which works just fine. Except, I invoke workflow_execute_transition directly in some places. This doesn't execute my rule because it's not After updating existing content. I'd like to manually execute my rule's action (bypassing the conditions) after I call workflow_execute_transition. Possible?
This all feels like a bit of a workaround. Why doesn't Rules have triggers for Workflow State Changed? Workflow is properly represented in core's Trigger module, but not here in Rules.
嗯......结果规则确实有一个Workflow state has changed事件。 我只是一个背后的版本。
Well... turns out Rules does have a Workflow state has changed event. I was just a version behind.
So that solves this problem, now that workflow_execute_transition is properly triggering the rule.
Much cleaner now!