discuz回贴通知插件实现-页面嵌入点(钩子)

discuz回贴通知插件实现-页面嵌入点(钩子),第1张

概述1、如何保证主题被回复时业务代码被执行。 2、获得主题,主题发布者,贴子等信息。 3、discuz发送email邮件。 discuz使用嵌入点(钩子)来处理代码的执行时机。 当用户开启插件开发者模式时 1、如何保证主题被回复时业务代码被执行。2、获得主题,主题发布者,贴子等信息。3、discuz发送email邮件。 discuz使用嵌入点(钩子)来处理代码的执行时机。

当用户开启插件开发者模式时,页面上会输出提供好的预先定义的嵌入点。 例如:我们需要在用户发贴时,告知用户是否开启了回贴通知。

1、我们在插件后台添加页面嵌入

2、在插件目录下创建noticeme.class.PHP文件该文件为类文件,定义该插件的嵌入类,该类中的方法就是嵌入点中的钩子方法。 嵌入类:1、全局嵌入类,2、模块嵌入类
<?PHP//判断是否被常规请求defined('IN_disCUZ') or dIE('Access DenIEd');//全局嵌入类class plugin_插件标识符 {    }//模块嵌入类class plugin_插件标识符_forum extends plugin_插件标识符 {    }
通过嵌入点,选择使用嵌入类。
<?PHP//判断是否被常规请求defined('IN_disCUZ') or dIE('Access DenIEd');//全局嵌入类class plugin_post_notice {    }//模块嵌入类class plugin_post_notice_forum extends plugin_post_notice {    //嵌入贴子发表的钩子函数    public function post_top() {        //当前$_G成为全局$_G的一个引用        global $_G;        $mForumPostNotice = C::t('#post_notice#forum_post_notice');        $isNotice = $mForumPostNotice->getNoticeState($_G['uID']);                return $isNotice ? lang('plugin/post_notice','enable_notice') :         lang('plugin/post_notice','disable_notice');    }}

 除了页面上可以看到的嵌入点,discuz在所有模块执行前,都会执行嵌入函数(钩子)。  

 

总结

以上是内存溢出为你收集整理的discuz回贴通知插件实现-页面嵌入点(钩子)全部内容,希望文章能够帮你解决discuz回贴通知插件实现-页面嵌入点(钩子)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/1001654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存