Discuz!使用问题、建议、BUG等请到论坛反馈以便获得及时帮助,大型问题建议走付费途径。

Discuz! 插件的钩子的使用技巧

这里介绍如何更方便和容易的使用钩子

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

钩子的代码就是

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

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

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

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

2、模板中使用钩子

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

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

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

返回开发目录

{lang scrolltop}