您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
discuz的hook使用方法
芷蕾2025-07-19Discuz教程已有人查阅
导读公共hook global_footer模板显示形式:插件类中相对应的方法模块动作 hook模板显示形式:插件类中相对应的方法
公共hook global_footer
模板显示形式:
模板显示形式:
在专题中添加一个hook
如:
模板显示形式:
$_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();
}
}
本文标签:
很赞哦! ()
下一篇:discuz模版学习教程
相关教程
图文教程
Discuz的NT配置文件类discuz.config说明
如果大家从官方下载2.0正式版的DLL程序集中会从里面找到discuz.config这个DLL文件。通过reflector 反射加载这个程序集后,后从中找到一些从类名称上非常相似且有一定规律(格式)的类。
Discuz快应用性能与稳定性优化
优化Discuz!快应用性能与稳定性的措施是一个复杂但非常有价值的课题。许多开发者和管理员都面临着如何让Discuz!运行得更快、更稳定的挑战。在这里,我将分享一些经过实践检验的策略和方法
Xweibo for Discuz X1.5V1.1安装教程
修复Discuz!X 1.5 RELEASE 20110121中的安全机制更改,触发插件安全机制而引发无法同步主题到微薄的问题Xweibo for Discuz!X1.5V1.1 Release 2025-01-21
Discuz X3.2源码分析discuz_application类介绍
discuz_application主要实现对运行环境、配置、输入、输出、数据库、设置、用户、session、移动模块、计划任务、手机预览等方面的初始化。
相关源码
-
(自适应响应式)法律咨询律师事务所法务pbootcms源码下载为律师事务所、法律咨询机构设计,特别适合展示法律服务、律师团队和成功案例。采用响应式技术,确保在不同设备上都能提供专业的法律信息展示和咨询服务。查看源码 -
pbootcms网站网络公司个人作品展示类网站源码(自适应)为网站建设公司、网络服务企业打造的响应式门户解决方案,基于PbootCMS内核深度开发。采用前沿自适应架构,无缝适配手机端交互与PC端展示需求。查看源码 -
帝国cms7.5女性护肤搭配美妆潮流网站源码带数据4.5G本模板专为女性美容护肤行业设计,提供美容护肤、发型设计、女性健康、时尚化妆、娱乐新闻、服饰搭配等女性潮流资讯内容展示。采用帝国CMS7.5开发,同步生成电脑端和手机端,满足用户对美容时尚信息的获取需求。查看源码 -
(自适应)蓝色五金制品配件管件pbootcms网站源码下载基于PbootCMS内核开发的五金行业专用模板,采用响应式设计架构,确保产品展示在各类移动设备上的呈现。通过模块化布局与工业风视觉设计,帮助五金企业高效展示产品规格、应用场景及技术支持,建立专业可靠的行业形象。查看源码 -
帝国cms7.5自适应作文新闻资讯教育网站模板本模板基于帝国CMS7.5内核开发,为教育机构、培训学校等知识传播单位打造。通过自适应设计确保在手机、平板、电脑等设备上均能获得专业浏览体验查看源码 -
(自适应响应式)环保净化器家用电器网站免费模板针对环保设备、环境监测等领域的PbootCMS响应式模板,通过模块化设计清晰展示污水处理技术、空气净化系统等解决方案。移动端呈现环保数据可视化图表,后端统一管理确保项目案例、技术等资料多端同步。查看源码
| 分享笔记 (共有 篇笔记) |