实战教程:如何开发Discuz插件(一)-CSDN

[复制链接]
查看55 | 回复2 | 2020-12-16 17:29:45 | 显示全部楼层 |阅读模式
封面图片
网站模板 :
建站教程 :
discuz教程
资源价格 :
纯免费
建站程序 :
discuz
网站源码 :
博客主题 :
实战教程:如何开发Discuz插件(一)

         一个插件包含了一些源码文件和设置信息。Discuz的管理中心里提供了帮助建立插件设置信息的工具。首先在configconfig_global.php里加入下列一行:$_config['plugindeveloper'] = 1后,在管理中心的应用->插件页里的插件列表旁就出现了一个新的选项叫设计新插件。在这里就可以开发自用或它用的新插件。在新插件的设计中,得给插件一个唯一标识符(identifier),我将它设为imyoona_test1。它决定了我们的有关插件文件将放在sourceplugin里的以这个唯一标识符为名的子目录里。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...


有多种不同性能的插件,这里我们造一个页面嵌入插件。我们得指明包含插件程序块的文件名。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

当填完相关信息后,最后点击启用后,就能使用这个插件了。但是我们只是完成了插件的设置,也就是说将插件的一些信息告诉了Discuz系统,还没有开发插件的功能。接下来我们要造有关的文件和源码。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

这个it.class.php文件的名字是在设置时规定好的。这里面的类名也是有规定的:plugin_<唯一标识符>.

class plugin_imyoona_test1 {        function global_header() {  return "Hello World"; }}这个类名符合了要求,那里面的函数又会如何被使用呢?这涉及到一个概念叫嵌入点。Discuz的网页里包含了很多个可以添加内容的嵌入点。当我们把前面config里的那个值改为2以后,我们就能在页面上看到这些嵌入点。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

其中一个嵌入点叫global_header,这就是我们的类里有这样一个函数的原因。它的返回值会显示在网页上那个嵌入点的位置里。有两类嵌入点。一类叫全局嵌入点,如global_header,它存在于每个网页上。还有一种是非全局嵌入点,它们只存在于某个网页。如space_blog_title只存在于日志页里。这样的嵌入点得定义在前面的类的一个扩展类里,它的类名必须是基类名加底线再加程序块名,这里是home:

class plugin_imyoona_test1_home extends plugin_imyoona_test1 {  function space_blog_title() { return "Hi"; }}将config里的值改为0后就能看到这个插件给网页带来的变化。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...


一个插件可以有多个模块。模块的类型有多种。上面我们讨论的是页面嵌入,把东西显示在某个现有网页的指定位置。我们还可以有扩展项目和程序链接。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...



程序链接让我们将菜单项目添加在各种导航菜单上。


实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...


注意家园导航指的是下图左侧的竖立的菜单,而不是横放的菜单。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

当我们加入家园导航项目模块时,没有显示顺序的选择。这得到界面->导航设置->家园导航里去设置,注意新加的家园导航项目模块已经自动的被加在名单里了。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

在这页上也可以直接添加导航项目,与导航项目模块的不同,我的理解是前者适合自用,后者可以成为第三方插件。

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...

实战教程:如何开发Discuz插件(一)-CSDN(如需提取码在右边,手机请跳转至电脑版下载,手机端不支持下载哟 ...



'
前面我们介绍的是开发并使用一个插件的基本步骤。如果我们要把自己开发的插件给别人用的话该怎么办呢?在插件设计里有个导出xml的功能,它将插件的设置信息都放入了这个xml文件里。将这个xml文件和其它插件文件都交给对方,放入对方网站与上面说的同样的地方,然后从他的管理中心里启动后就能用了。

该教程来自@wang_quan_li 的贡献  来源CSDN 云下小屋鸣谢!
参考资料:
1。Discuz!插件开发手册 http://faq.comsenz.com/library/plug/plugin/plugin_pre.htm
2。Discuz! 技术文库 http://dev.discuz.org/wiki/index.php
3。2013年第一届Discuz!插件制作开发培训视频 http://v.youku.com/v_show/id_XNTMwNTI3NzU2.html
chuyunfei | 2020-12-16 17:30:25 | 显示全部楼层
可以可以
回复

使用道具 举报

漫步81 | 2020-12-16 17:31:01 | 显示全部楼层
转发了
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【云下小屋,免费分享,我们是认真的!】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则