discuz嵌入点类型有哪些?
1.页面嵌入点
作用∶修改页面显示
2.信息提示嵌入点
作用:修改showmessage()
3.广告嵌入点
作用:处理广告位数据
4.功能嵌入点
作用:处理主题,帖子,头像数据等
页面嵌入点的三种类型
1.全局页面嵌入点
运行位置:公共模板页面(多为global开头)
2.普通页面嵌入点
运行位置:普通模块模板页面(global以外的)
3.输出前置页面嵌入点
运行位置:模块与模板间,处理数据
页面嵌入点 类的命名规则
1.全局页面嵌入点类(必须)
class plugin_插件唯一标识符{}
2.普通嵌入点类
class plugin_插件唯一标识符_入口文件名{}
比如链接为:forum.php?mod=viewthread&tid=1,则入口文件名为:forum
页面嵌入点 方法命名规则(也就是常说的钩子)
1.全局页面嵌入点方法 function global_任意(){} 2.输出前置页面嵌入点方法 function 模块名_任意_output() { } 3.普通页面嵌入点方法 function 模块名_任意(){}
forum.php?mod=viewthread&tid=1
注意:论坛首页,链接中隐藏掉了index。比如:localhost/dz/forum.php?mod=index
举例:
<?php class plugin_ppctest { function global_cpnav_extra1( ) { return '21fanqie' ; } }
class plugin_ppctest_forum extends plugin_ppctest { function index_phpchina_output() { /*index是模块名*/ global $_G; $_Gp ' member' ][ 'username ' ] = 'hehe ' ; } function index_status_extra() { return ' baidu ' ; } } ?>
说明: 1.普通方法和全局方法都是可以在调试模式2中的前台页面中可以看到的钩子。所以直接从调试模式2的页面中拷贝到php中即可。 2.前置嵌入点需要知道命名规则。
页面嵌入点的两种返回值类型
1.字符串类型
示例:[string global_login_extra]
作用:普通数据显示
2.数组类型:列表数据显示
示例: [array forumdisplay_thread_subject/0]
作用:列表数据显示
举例:
function forumdisplay_thread_subject() {
return array(
0=>'第一个主题',
1=>'第二个主题',
);
}
block标签的应用
作用:将显示的内容,存储到指定变量中
示例:
<!--{block 变量名}-->任意的HTML内容<!--{/block}-->
举例:
<! --{block str}--><span>PHPChina</span><! --{/block}-->
|