ルールをエクスポートすると、次のようになります。
{ "rules_vote_points" : {
"LABEL" : "Vote points",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "userpoints_rules", "voting_rules" ],
"ON" : [ "voting_rules_insert_node" ],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "node:author" ],
"points" : "3",
"tid" : "0",
"entity" : [ "node" ],
"operation" : "Insert",
"display" : 1,
"moderate" : "approved"
}
}
]
}
}
これをどこに置いてサイトインストールにインポートできますか?例えば。モジュール内のhook_views_api
フックとビューフォルダーを検索してビューをインポートするmodule.views_default.inc
ファイルを使用してビューをインポートしています。コンテンツタイプは、モジュール内の.installファイルのhook_installを使用して作成されます。しかし、どうすれば以下をインポートできますか?
これがD7用であると仮定して、次のコード(エクスポートされたルールのコピーを含む)を試してください。
function my_module_default_rules_configuration() {
$configs = array();
$rule = '{ "rules_vote_points" : {
"LABEL" : "Vote points",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "userpoints_rules", "voting_rules" ],
"ON" : [ "voting_rules_insert_node" ],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "node:author" ],
"points" : "3",
"tid" : "0",
"entity" : [ "node" ],
"operation" : "Insert",
"display" : 1,
"moderate" : "approved"
}
}
]
}
}';
$configs['rules_vote_points'] = entity_import('rules_config', $rule);
return $configs;
}
PS: Answers Userpoints モジュールのコードを見て、この手法も使用されている例を確認してください(answers_userpoints.rules_defaults.inc
に含まれています)。