hook_default_rules_configuration
1-ドキュメントによると:
このフックは、ルール構成がロードされるときに呼び出されます。
この関数は、キャッシュをクリアするときに実際に呼び出されます。これは、Drupalがコードで提供されるデフォルトのエンティティを再構築するときですentity_defaults_rebuild
。
hook_default_rules_configuration
関数がどのように呼び出されるかについては、を使用して完全な呼び出しスタックを調べることができますdebug_backtrace
2-ロールの挿入に反応するルールを設定するには、実際にユーザーの挿入アクションに反応するルールを作成し、保存されたロールをチェックして、反応したいロールと一致するかどうかを確認する必要があります。
UIを介してこれを行う方が簡単だと思います。これは、ユーザーに匿名の役割が割り当てられているかどうかを確認し、割り当てられている場合は管理者にメールを送信するルールのエクスポートです。
{ "rules_role_change_rule" : {
"LABEL" : "Role change rule",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules" ],
"ON" : [ "user_insert" ],
"IF" : [
{ "user_has_role" : { "account" : [ "account" ], "roles" : { "value" : { "1" : "1" } } } }
],
"DO" : [
{ "mail" : {
"to" : "admin@website.com",
"subject" : "User role changed",
"message" : "User role has changed",
"from" : "drupal@website.com",
"language" : [ "" ]
}
}
]
}
}
それでも実装hook_default_rules_configuration
する必要がありますが、チュートリアルのルールをニーズに合ったものに置き換えてください。