钩子执行顺序
<?php
if (!defined('IN_DISCUZ')) {
exit('Access Denied');
}
// \post_history\hook.class.php
//全局嵌入点类(必须存在)
class plugin_post_history
{
public $config = array();
// 0n.构造方法 所有调用前,会多次执行
public function __construct()
{
global $_G;
$this->config = $_G['cache']['plugin']['post_history'];
}
// 1n.所有模块执行前被调用(全局) 会多次执行
public function common()
{
global $_G;
}
// discuzcode() 函数执行时调用 (全局)
// 被动,用于在帖子内容解析时嵌入自己的功能,函数中 $_G['discuzcodemessage'] 变量为待解析的字串
public function discuzcode($value){
global $_G;
}
// 5.模块执行完毕,模板输出前被调用(全局)
public function global_post($params){
global $_G;
}
}
// 脚本嵌入点类
class plugin_post_history_forum extends plugin_post_history {
// 2.HookId():所有模块执行前被调用(脚本) mod=post
public function post($params){
global $_G;
echo 'xx';
}
// 3.HookId_output($value):模块执行完毕,模板输出前被调用(脚本)
public function post_mhgueasi($params)
{
global $_G;
}
// 6.HookId_output($value):模块执行完毕,模板输出前被调用(脚本)
public function post_mhgueasi_output($params)
{
global $_G;
}
// 4.identifier__hookid(_output)()
// (X3.4 新增New!)
public function post_history_post_xxxxx($params){
global $_G;
}
// HookId_message($value):showmessage()执行时调用(脚本)
public function post_message($params)
{
global $_G;
if(!$this->config['on']) return;
// 编辑完成点击提交后,进入这里
}
// 帖子页面顺序:__construct->common->viewthread_title_extra->discuzcode(两次)->global_post->viewthread_title_extra_output->__construct->common
public function viewthread_title_extra($params){
return "AAAAAAA";
}
public function viewthread_title_extra_output($params){
return "BBBBBBBB_output";
}
}
// 编辑页面顺序:__construct->common-> post -> post_mhgueasi -> post_history_post_xxxxx -> global_post -> post_mhgueasi_output-> __construct->common
// 编辑页面发布时顺序:__construct->common-> post -> post_mhgueasi -> post_history_post_xxxxx -> post_message -> 帖子页面顺序
|