Discuz!X 插件嵌入点整理
1.showmessage 嵌入点:路径:source\function\function_message.php
hookscript(CURMODULE, $_G['basescript'], 'messagefuncs', array('param' => $_G['messageparam']));
说明:对应的调用函数命名为 XXX_message(),可以接受一个传递参数。参数的值为showmessage函数的所有参数的集合的一个数组。该嵌入点可以用于输出成功提示之前执行操作。
例子:
function logging_message() {
if('login' == $_GET['action']) {
$this->_logLogin();
}
}
备注:登录成功后执行函数
2.discuzcode 嵌入点
路径:source\function\function_discuzcode.php
hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'discuzcode'), 'discuzcode');
说明:对应的调用函数固定命名应为discuzcode(),与showmessage的嵌入点类似,接受一个参数,参数为discuzcode函数所有参数的集合的一个数组。该嵌入点通常用于处理discuzcode输出,可以定义插件专有的code替换代码。
3.deletethread和deletepost函数嵌入点
路径:source\function\function_delete.php
hookscript('deletepost', 'global', 'funcs', array('param' => $hookparam, 'step' => 'check'), 'deletepost');
hookscript('deletepost', 'global', 'funcs', array('param' => $hookparam, 'step' => 'delete'), 'deletepost');
hookscript('deletethread', 'global', 'funcs', array('param' => $hookparam, 'step' => 'check'), 'deletethread');
hookscript('deletethread', 'global', 'funcs', array('param' => $hookparam, 'step' => 'delete'), 'deletethread');
说明:该嵌入点分别在删除主题(帖子)操作的前后执行,区别在于'step'参数的值。对应的调用函数命名应为 deletethread()和deletepost(),接受一个参数以取得deletethread和deletepost函数所有参数。该嵌入点用于执行删除主题(帖子)时,嵌入插件操作
页:
[1]