Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] what a fucking day,自定义Hook死活不生效是神马情况?命名有规则

[复制链接]
Freeng 发表于 2012-10-9 18:05:09 | 显示全部楼层 |阅读模式
本帖最后由 Freeng 于 2012-10-9 18:10 编辑

今天开始动手写digg插件,还没开始就卡在Hook上了,艾玛我去,折腾一天F5都快刷坏了,现在脑袋嗡嗡的想吐,本来放弃发帖子求救了,结果最后测试居然搞定了,反正帖子都写了干脆直接求助帖变教学贴好了,囧

分割线你好

分割线再见


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

插件的测试代码

class plugin_freeng_portal extends plugin_freeng{

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

表现为
症状是自己加的Hook不好使,如图,无效

同页面的系统Hook就好使,如图,正常输出

搜索了一下,https://discuz.dismall.com/thread-2153835-1-1.html这位仁兄遇到并解决了类似情况,根据他的说明,我把函数名各种改,结果各种无效,再经历了无数次失败后,见证奇迹的时刻来了,我发现
hook的名字要以模块名加_开始
其实官方文档也有说明,但是说的有点八竿子打不着
function CURMODULE_USERDEFINE[_output]()
CURMODULE 指明了此函数在哪个模块执行

其实这个模块对应相应页面的mod参数,比如说看门户文章的页面url是portal.php?mod=view&aid=X,那这个页面的Hook就需要用view_打头
根据这个规则修改hook名为<!--{hook/view_comment_digg}-->(其实<!--{hook/view_digg}-->应该就可以)
同时函数名对应改成function view_comment_digg()
OK,成功执行

希望官方能在技术文档中添加说明,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下砂 发表于 2012-10-10 14:38:50 | 显示全部楼层
已反馈相关人员
回复

使用道具 举报

aogle 发表于 2012-11-16 18:05:24 | 显示全部楼层
我怎么用了这种方法还是不行呢 这是我的贴子
麻烦了楼主 https://discuz.dismall.com/thread-3153619-1-1.html
回复

使用道具 举报

fantasy02 发表于 2012-12-4 15:21:01 | 显示全部楼层
请问如果是新起的一个单页如:www.XXXX.com/****.php
里面自定义了一个HOOK的话,那CURMODULE属于哪个模块啊?
回复

使用道具 举报

 楼主| Freeng 发表于 2012-12-4 18:15:23 | 显示全部楼层
fantasy02 发表于 2012-12-4 15:21
请问如果是新起的一个单页如:www.XXXX.com/****.php
里面自定义了一个HOOK的话,那CURMODULE属于哪个模块 ...

答:虽然不懂,但是觉得好难啊.
PS:如果是自己码页面,貌似就出了模板和Hook体制了吧?
你想啊你自己写的页面别人是没有的.

再PS:如果是自己些那就可以不用Hook了吧?代码直接写进去就好.
回复

使用道具 举报

fantasy02 发表于 2012-12-4 19:47:47 | 显示全部楼层
Freeng 发表于 2012-12-4 18:15
答:虽然不懂,但是觉得好难啊.
PS:如果是自己码页面,貌似就出了模板和Hook体制了吧?
你想啊你自己写的页 ...

其实我是想前端的页面可以通过后台插件来管理,有些显示内容可以直接在后台插件里面配置
回复

使用道具 举报

 楼主| Freeng 发表于 2012-12-4 21:22:53 | 显示全部楼层
fantasy02 发表于 2012-12-4 19:47
其实我是想前端的页面可以通过后台插件来管理,有些显示内容可以直接在后台插件里面配置

这个没的问题啊,不过方式不同,你去看看这个http://dev.discuz.org/wiki/index.php?title=%E5%90%8E%E5%8F%B0%E9%A1%B5%E9%9D%A2%E5%BC%80%E5%8F%91
案例上可以参考下"剖度小说"
回复

使用道具 举报

fantasy02 发表于 2012-12-5 10:29:53 | 显示全部楼层
Freeng 发表于 2012-12-4 21:22
这个没的问题啊,不过方式不同,你去看看这个http://dev.discuz.org/wiki/index.php?title=%E5%90%8E%E5%8F ...

举个例子,小说最下面的 “经典典藏” 你是如何管理的?
回复

使用道具 举报

 楼主| Freeng 发表于 2012-12-5 13:00:08 | 显示全部楼层
fantasy02 发表于 2012-12-5 10:29
举个例子,小说最下面的 “经典典藏” 你是如何管理的?

不知道跟不会可不是一回事,方向已经指给你了,路要自己走.
顺便说一下,我不是作者,我也不知道,我只知道想知道的话就去看代码.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 17:54 , Processed in 0.028167 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表