discuz hook使用

it2022-05-09  26

公共hook  global_footer

模板显示形式: $_G['setting']['pluginhooks']['global_footer']

追踪

runhooks();

↓ 

if($_G['setting']['plugins'][HOOKTYPE.'_common']) { hookscript('common', 'global', 'funcs', array(), 'common'); }

插件类中相对应的方法

//plugin_qqconnect == plugin_qqconnect_common class plugin_qqconnect extends plugin_qqconnect_base { var $allow = false; function plugin_qqconnect() { $this->init(); } function common() { $this->common_base(); } function global_footer() { if(!$this->allow) { return; } global $_G; if(!$_G['cookie']['client_token'] || !empty($_G['inshowmessage']) || empty($_G['cookie']['connect_js_name'])) { return; } if($_G['cookie']['connect_js_name'] == 'user_bind') { require_once libfile('function/connect'); $params = array('openid' => $_G['cookie']['connect_uin']); return connect_user_bind_js($params); }elseif($_G['cookie']['connect_js_name'] == 'feed_resend') { require_once libfile('function/connect'); return connect_feed_resend_js(); } } }

 

模块动作 hook 

模板显示形式:  $_G['setting']['pluginhooks']['logging_method']

追踪

runhooks();

hookscript(CURMODULE, $_G['basescript']);// 如CURMODULE :logging   $_G['basescript']: member

插件类中相对应的方法

class plugin_qqconnect_member extends plugin_qqconnect { function logging_method() {// CURMODULE... if(!$this->allow) { return; } return tpl_login_bar(); }}

 

手动添加一个公共的hook

在专题中添加一个hook

<!--{hook/global_topic_show}-->

在插件类common类(即没有basescript类)中添加方法 global_topic_show(begin with global_...)

如:

class plugin_rotate_award extends plugin_rotate_award_base { var $allow = false; function plugin_rotate_award() { $this->init(); } function common() { $this->common_base(); } //抽奖转盘 function global_rotate_reward() { global $_G; if (!$this->allow) { return; } $extrastr = ''; if (!$_G['pluginrotateaward']['loadedjquery']) { $extrastr = '<script type="text/javascript" src="source/plugin/rotate_award/template/jquery-1.7.2.min.js"></script><script type="text/javascript">jQuery.noConflict();</script>'; } return $extrastr. tpl_rotate_reward(); } }

 

转载于:https://www.cnblogs.com/bandbandme/p/3299101.html


最新回复(0)