我正在使用Drupal 7中的Rules模块,我尝试添加新规则“Action”
我按照How to create an custom rule action using hook_rules_action_info?中描述的步骤使用hook_rules_action_info
创建自定义规则操作:
(save_nid.rules.inc)
中创建示例文件/rules/module/
。module
中创建/site/all/module/save_nid/
文件夹。 save_nid.rules.inc
中的代码如下:
function rules_save_nid_action_info() {
return array(
'save_nid_action' => array(
'label' => t('Custom Action'),
'parameter' => array(
'param1' => array(
'type' => 'int',
'label' => t('Parameter Label'),
),
'param2' => array(
'type' => 'commerce_order',
'label' => t('Parameter Label2'),
),
),
'configurable' => FALSE,
'group' => t('ABC Custom module action'),
'callbacks' => array(
'execute' => 'abc_custom_action',
),
),
}
清除了Drupal缓存后,我没有在列表中看到我的“自定义规则”。
我错过了什么或做错了什么?
答案 0 :(得分:1)
在您的情况下,自定义模块的计算机名称似乎为save_nid
。
因此,如果您想在模块中使用hook_rules_action_info
,则需要将您的函数命名为save_nid_rules_action_info
,而不是rules_save_nid_action_info
。
不确定这是否是“唯一”问题,为什么你无法让它工作,但至少这是你需要解决的“问题”。
PS:确保将自定义编码保存在自定义模块的文件夹中(/site/all/module/save_nid/
)。