Drupalでワークフローの状態が特定の状態に変更された場合にのみ実行されるルールを設定したいと考えています。たとえば、アプリケーションが「提出済み」としてマークされ、以前に「ドラフト」とマークされていた場合、PHPの特定のブロックを実行したいと思います。ワークフローの状態がXYZに変更された場合のみルールを実行
これは可能ですか?
Drupalでワークフローの状態が特定の状態に変更された場合にのみ実行されるルールを設定したいと考えています。たとえば、アプリケーションが「提出済み」としてマークされ、以前に「ドラフト」とマークされていた場合、PHPの特定のブロックを実行したいと思います。ワークフローの状態がXYZに変更された場合のみルールを実行
これは可能ですか?
はい、ルールモジュールを使用すると非常に簡単です。ルールモジュールを使用すると、特定のフィールの変更をテストし、その値をテストしてから、何らかのアクションを実行できます。独自のPHPコードを実行できるように、独自のアクションをモジュールコードで作成してルールに使用できるようにする必要がありますが、drupal.org/project/rulesという良い例があります。
をWorkflow Rulesモジュールとして組み込み、Workflowというバンドルを使用して独自の統合コードを記述することなく使用できます。