Discuz:插件的钩子使用技巧

来自站长百科
跳转至: 导航、​ 搜索

Discuz! 6.0|Discuz! 6.0安装|Discuz! 6.0使用|Discuz! 6.0风格模板|Discuz! 6.0插件|Discuz! 6.0升级|Discuz! 6.0开发|Discuz! 6.0 FAQ

Discuz插件的钩子使用技巧,这里介绍如何更方便和容易的使用插件钩子

1、如果我们钩子里面的代码比较多,我建议独立一个文件写代码,再 include 这个独立的文件

钩子的代码就是

include DISCUZ_ROOT. './plugins/pluginname/mode.inc.php';

或者是(根据你自己的需要)

include_once DISCUZ_ROOT. './plugins/pluginname/mode.inc.php'; 

自己要实现的功能的代码就写在 ./plugins/pluginname/mode.inc.php文件里面实现。

这个对于测试和插件的升级都比较有好处的。

例如当发布了一个插件,为了安装的时候修改代码尽量的简洁(我们推荐你这样做),你使用到了钩子,但是因为发布不久,你需要更新钩子,所以得教会用户在不删除配置的情况下更新钩子的配置。那就相对比较麻烦,如果像我上面的设置的话,那么只需要更新文件即可,就是叫用户上传覆盖文件即可,非常方便。

2、模板中使用钩子

我们知道在Discuz!的模板语法中有 {eval parm},执行php代码的标记。那么要在模板上使用钩子,只要 {eval eval($hooks['demo_testhook']); }

那样,那么就完全可以执行钩子里面的代码了。

钩子是一个非常灵活的机制,所以大家可以仔细的研究下这个机制,那么设计出来的插件的安装难度可以大大的降低哈。

参考来源[ ]

Discuz! 6.0使用手册导航

Discuz! 6.0安装:

Discuz! 6.0产品概况| Discuz! 6.0环境要求| Discuz! 6.0安装详细过程| Discuz! 6.0文件及目录结构| Discuz! 6.0安装的常见问题| 附录 如何在Discuz上安装个人空间SupeSite/x-space指南| 附录 论坛一键式安装Discuz!EXP及EasyDiscuz指南| 附录 discuz本地运行环境构建(windows)

Discuz! 6.0使用:

Discuz! 6.0日常使用| Discuz! 6.0 config.inc.php配置问题| Discuz! 6.0前台管理操作说明| Discuz! 6.0用户权限设定| Discuz! 6.0服务器相关| Discuz! 6.0后台基本设置| Discuz! 6.0后台论坛管理| Discuz! 6.0后台用户管理| Discuz! 6.0后台帖子管理| Discuz! 6.0后台扩展设置| Discuz! 6.0后台其它设置| Discuz! 6.0后台社区营销| Discuz! 6.0后台系统工具

Discuz! 6.0风格模板

Discuz!6.0风格制作| Discuz!6.0界面风格与模板定制| Discuz!6.0风格高级应用| Discuz!6.0头部模板header详解| Discuz!6.0页脚模板footer详解

Discuz! 6.0插件

Discuz!6.0插件简介| Discuz!6.0插件安装| Discuz!6.0插件列表

Discuz! 6.0升级

Discuz!6.0升级指南| Discuz!6.0阶段升级说明| Discuz!6.0版本更新记录

Discuz! 6.0开发

Discuz!6.0插件设计 | Discuz!6.0插件设置及管理| Discuz!6.0插件的钩子使用技巧| Discuz!6.0插件代码的安全规范| Discuz!6.0PassPort接口技术文档

Discuz! 6.0 FAQ

Discuz!6.0经验技巧| Discuz!6.0防御CC攻击说明| Discuz!6.0搜索引擎优化| Discuz!6.0论坛程序