discuz 添加自定义钩子hook


Hook位置在comment_li.htm,代码        <!--{hook/reply_middle_geetest}-->

插件的测试代码

class plugin_freeng_portal extends plugin_freeng{

        function view_article_side_bottom(){
                return 'hello world'.CURSCRIPT;
                }
        function reply_middle_geetest(){
                return CURSCRIPT.'hello world';
                }
}

但是这样只是hook显示在页面中,后台插件根本还是执行不到那个自定义hook

见证奇迹的时刻来了

hook的名字要以模块名加_开始,其实这点做插件开发的时候应该已经察觉到了,每个hook的开头都是模块名

其实官方文档也有说明

function CURMODULE_USERDEFINE[_output]()

CURMODULE 指明了此函数在哪个模块执行

其实这个模块对应相应页面的mod参数,比如说看门户文章的页面url是portal.php?mod=post&aid=X,那这个页面的Hook就需要用post_打头

根据这个规则修改hook名为<!--{hook/post_reply_middle_geetest}-->(其实<!--{hook/post_digg}-->应该就可以)

同时函数名对应改成function post_reply_middle_geetest()

OK,成功执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值