前置阅读:
在之前的文章中,为大家介绍了如何创建DZ插件,以及插件设计的重要概念——模块。
这篇文章通过模块应用中的一个简单案例,方便大家理解模块的作用。
discuz插件开发简易教程(一)——设计新插件https://blog.csdn.net/weixin_45828020/article/details/143745823discuz插件开发简易教程(二)——插件设计之“模块”https://blog.csdn.net/weixin_45828020/article/details/143747583
正文开始
首先我在DZ后台创建了一款名为“测试插件的”新插件。(如何创建新插件参考上面的链接)
唯一标识符(identifier)为:test_plugin
然后进入模块设计,可以看到,此时还没有模块,我们开始对插件添加新的模块。
一、添加模块——主导航项目
主导航项目说明:可在主导航栏增加一个菜单项,可自主指派菜单链接的 URL,也可以调用插件的一个模块,模块文件名指派为 source/plugin/插件目录/插件模块名.inc.php”
1.创建主导航项目模块
提交后,在首页的主导航就出现了刚才创建的导航链接。
如果没有正常显示,可能需要在后台执行更新缓存操作后再回到首页刷新,如下图。
2.创建需要引入的脚本文件
在首页点击刚刚创建好的“测试导航”链接,会出现错误提示,因为此时没有需要引入的脚本文件。
那我们就需要根据提示,在插件目录下创建一个名为 test_nav.inc.php 的脚本文件。然后随便写入一些PHP语句。
说明:
test_nav.inc.php 文件中的 "inc" ,即 include ,代表“引入”、“包含”的意思, 在discuz中,以这个格式命名的脚本文件都是需要在某处引用的文件。test_nav 则是刚才创建模块时填入的程序模块名。
echo 'hello,这是一个导航模块'.'
';
echo '你可以在这里写一些具体的应用';
?>
再回到首页刷新,可以发现内容可以正常显示。说明脚本已正常运行。
通过观察“测试导航”的URL,我们就可以知道访问(调用)插件模块(页面)的具体链接格式。即使将来我们创建的模块不是导航项目,也有办法知道插件模块的访问(调用)链接。
在这个案例中,我的链接是:discuz:8080/plugin.php?id=test_plugin:test_nav 说明如下:
discuz:8080/ :本地服务器的网站地址。具体以你自己的为准。plugin.php :插件入口。固定格式为 plugin.php?id=插件名称(标识符)test_plugin : 你创建的唯一标识符(identifier)test_nav : 模块名称
也就是说,访问插件模块的链接格式为:
域名/php.php?id=插件标识符:模块名
注意:链接中的问号(?)和冒号(:)要在英文输入法下输入。
二、验证插件模块访问(调用)链接
我们创建一个非导航模块,来验证一下插件模块访问链接格式。
模块类型选择:程序脚本——页面嵌入-普通版。输入 test_hook。然后提交。
对了,记得要创建一个对应的脚本文件:test_hook.inc.php。
// test_hook.inc.php 的演示代码
echo 123;
?>
验证:
验证成功!
在实际的DZ插件开发中,你不一定需要向外暴露这个链接,如:当你需要一个模块作为API接口时,这个链接就可以用于调试数据的处理或其他功能。
结语
本次分享到此结束,至此我们就了解了插件模块的简单应用。如果这篇分享对你有帮助,请帮忙点个赞。下一篇分享,我会和大家介绍DZ插件开发页面嵌入点(也称钩子,HOOK)的概念。感兴趣的朋友可以关注一下。