1

Drupal 7 + Rules 2 を使用しており、ロールが別のロールに変更されたときにユーザーにメッセージを表示するルールを作成したいと考えています。データ比較条件で「アカウント変更なし」を使用して実験していましたが、うまくいきませんでした。私の構成は以下のとおりですが、「変更されていない」機能を使用することは私にはなじみがなく、正しい軌道に乗っているかどうかはわかりません。

  • イベント: 既存のユーザー アカウントを更新した後
  • 調子:
    • データ比較 - account-unchanged:roles equals RoleA
    • データ比較 - account:rolesはRoleBと等しい
  • アクション: サイトにメッセージを表示する=役割が変更されました!!!

前に述べたように、RoleA を持っていたユーザーを RoleB を持つように更新しても結果は生成されず、Rules デバッガーでは、条件は常に FALSE と評価されます。

上記よりもこれを達成する代替/より良い方法がある場合は、正しいトラックに切り替えていただければ幸いです:)

本当にありがとう!

4

2 に答える 2

1

アリキエラの回答に加えて、ユーザーの役割が取り消されたかどうかを確認したい場合は、次を使用できます。

  • データ > リストにはアイテムが含まれています - LIST: account-unchanged:roles, ITEM RoleA
  • データ > リストにアイテムが含まれています - LIST: account:roles, ITEM RoleB (NEGATE をチェック)

これを使用して、親ユーザーの役割が取り消された場合に親ユーザーのサブユーザーから特定の役割を削除するいくつかのルールをサブユーザー モジュールに追加しました。これは、独自のサブユーザーを追加できる企業アカウントを持つサイトを構築している場合に非常に便利です.

于 2014-12-03T12:49:45.977 に答える