在第八章中,我们用管理界面创建了一个触发器。不过在我们的安装大纲中,我们觉得在安装期间就配置好这个触发器比较好。 trigger API 并未提供一个插入触发器的函数。实际上,一个触发器只是数据库中的一行。因此,我们通过在数据库中插入一条记录来添加我们的触发器:
// Pre-configure our trigger from ch. 8: // (see trigger.admin.inc) $aid = 'sitenews_send_action'; $hook = 'nodeapi'; $op = 'presave'; $sql = 'INSERT INTO {trigger_assignments} ' ."VALUES ('%s', '%s', '%s', 1)"; db_query($sql, $hook, $op, $aid); // Rebuild the menu menu_rebuild();
为了在 trigger 表中插入一条记录,我们需要四方面的信息:
在上述代码中,这四个参数被插入了 trigger_assignments 表。添加一个触发器,需要做的工作仅只于此。 在代码的最后,我们重建了菜单(menu_rebuild()),以便我们所做的影响菜单生成的变更可以在用户第一次登录前生效。
评论
发表新评论