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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 修改一个安装好的插件,新增嵌入点函数如何生效?

[复制链接]
xiwang6428 发表于 2016-9-7 16:49:42 | 显示全部楼层 |阅读模式
我购买了一个手机号验证插件,在线安装的。代码公开未加密,作者允许自行定制。
我在配置打开了设计模式,想在以下send.class.php这个文件中,


在文件的这个类内:

添加一个全局的嵌入点函数:


实现效果其实就是在extra3嵌入点显示个认证按钮:



可是我添加这个方法后发现discuz并没有调用这个方法。我后来断点调试跟踪了很久,发现所有安装好的插件,都会将插件全局功能方法等参数保存到$_G['setting']['hookscript']['global']['global']['funcs']。我于是跟踪这个值怎么产生的,发现原来在插件安装的操作时,就已经保存了既定的功能了。请问各位大神,我该怎么做?

我不可能直接卸载再重装的,因为目前这个插件已经在运作了,而且已经产生数据了。怎么办?

本帖子中包含更多资源

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

x
湖中沉 发表于 2016-9-7 20:18:33 | 显示全部楼层
如果代码正确的前提下,关闭再启用即可
回复

使用道具 举报

 楼主| xiwang6428 发表于 2016-9-7 22:32:27 | 显示全部楼层
湖中沉 发表于 2016-9-7 20:18
如果代码正确的前提下,关闭再启用即可

貌似没用,代码根本没运行我添加的函数。
回复

使用道具 举报

湖中沉 发表于 2016-9-7 22:44:05 | 显示全部楼层
xiwang6428 发表于 2016-9-7 22:32
貌似没用,代码根本没运行我添加的函数。

那就说明你加的代码有问题
回复

使用道具 举报

bangyangtop 发表于 2016-9-8 10:35:23 | 显示全部楼层
都是知道 类,方法 的老鸟了,还不会处理这种问题吗 偷懒了吧
回复

使用道具 举报

⑧穿内裤 发表于 2016-9-8 11:30:00 | 显示全部楼层
如果没猜错,全局嵌入点你放在了脚本嵌入点里了
回复

使用道具 举报

 楼主| xiwang6428 发表于 2016-9-8 16:11:14 | 显示全部楼层
⑧穿内裤 发表于 2016-9-8 11:30
如果没猜错,全局嵌入点你放在了脚本嵌入点里了

那类名该怎么写?我参考了别人的插件照着写的。别人的插件就把这个嵌入点函数放到末尾_forum的类名里,可以正常运行。
回复

使用道具 举报

 楼主| xiwang6428 发表于 2016-9-8 16:12:16 | 显示全部楼层
bangyangtop 发表于 2016-9-8 10:35
都是知道 类,方法 的老鸟了,还不会处理这种问题吗 偷懒了吧

我去……知道类和方法很正常好吗?对于discuz这样的庞然大物,你以为我想熟悉就能立即熟悉的啊?!
回复

使用道具 举报

 楼主| xiwang6428 发表于 2016-9-8 16:13:22 | 显示全部楼层
湖中沉 发表于 2016-9-7 22:44
那就说明你加的代码有问题

有时间能帮我看看么?
回复

使用道具 举报

⑧穿内裤 发表于 2016-9-8 16:15:30 | 显示全部楼层
xiwang6428 发表于 2016-9-8 16:12
我去……知道类和方法很正常好吗?对于discuz这样的庞然大物,你以为我想熟悉就能立即熟悉的啊?!

既然理解类和方法,看文档就应该明白了http://open.discuz.net/?ac=document&page=plugin_hook
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 14:28 , Processed in 0.025908 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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