Drupal 动作与触发器的深入解析
1. 前期准备
在继续之前,需要删除 beep_user()
和 beep_nodeapi()
,因为后续将使用触发器和动作,而非直接的钩子实现。
2. 动作分配
重新访问“管理 -> 网站构建 -> 触发器”。若操作正确,动作应会在用户界面中可用。
3. 修改动作支持的触发器
若修改定义动作支持操作的值,用户界面中的可用性会相应改变。例如,若将 beep_action_info()
修改如下,“Beep” 动作将仅在 “删除帖子后” 触发器中可用:
/**
* Implementation of hook_action_info().
*/
function beep_action_info() {
$info['beep_beep_action'] = array(
'type' => 'system',
'description' => t('Beep annoyingly'),
'configurable' => FALSE,
'hooks' => array(
'nodeapi' => array('delete'),
),
);
return $info;
}
4. 支持任意触发器的动作
若不