文档章节

discuz插件开发新手入门

BearCatYN
 BearCatYN
发布于 2014/06/16 17:38
字数 713
阅读 161
收藏 12

作为一个新手,目前也是刚刚玩转discuz的插件功能,好东西不敢独享,就拿出来大家一起分享入门的过程。
现在网上很多关于discuz的插件教程都是很简单的教程,原因可能是这个东西是商业化的东西,本着分享的精神,今天我就自己做了一个教程,discuz新手入门的教程。
很详细的介绍我是怎样入门的。
问题1.discuz后台没有设计新插件!
解决方案:在config\config_global.php 最下面添加 $_config['plugindeveloper'] = 2; 刷新后台应用即可
问题2.怎么知道discuz在那些点设置了钩子呢?
设置完成1后  工具->清理缓存 然后刷新下页面就出现好多 类似string global_usernav_extra1的东西 这就是锚点,也是插件可以利用的点。
好了下面开始做插件:
后台 ->应用 ->设计新插件

提交后 请在插件管理中 启用即可

然后点击 设计

就会进入如下图所示

接着

在source/plugin下新建一个文件夹,文件夹的名称要和所要创建的插件的标识符相同。

然后在创建的文件夹下面 创建您需要的文件。如下图 我在模块里面定义了  页面嵌入的 test1类文件,则需要在插件文件夹中新建一个test1.class.php的文件爱你

 

下面是需要注意的东西。

test1.class.php中 文件的上部分 是discuz的引入部分,而下面的类名必须要和插件的名称一致。

之后在类中书写function函数。这里需要注意的是:只有function的的名称与 外面相应位置显示的名称一致的时候 才会在相应页面中的相应位置中运行。

在每次新增加或者修改文件 则尽量刷新下缓存文件

在前台的相应页面刷新后 就会出现我们刚才做的简单的示例。

这里需要注意的是,如果需要在指定位置进行运算的话,进行页面输出的时候尽量不要使用echo 或者var_dump进行输出,因为这样会输出到最顶部,也就是网页的外围部分上。而使用return则会在指定的地方进行输出。

值得注意的是,在编写插件的时候,如果确实要输出的话,先按照1步骤后,看下前台所需的页面上有没有。到此,简单的discuz的插件就开发完毕了。点击导出按钮后导出文件放在 当前插件文件夹的根目录下 直接的发布给别人就可以正常的使用了。


本文转载自:http://www.cnblogs.com/upmyself/archive/2013/01/16/2863396.html?ADUIN=852298519&ADSESSION=1402882...

共有 人打赏支持
BearCatYN
粉丝 26
博文 158
码字总数 11947
作品 0
朝阳
程序员
discuz插件开发新手入门 超详细

discuz插件开发新手入门 超详细 作为一个新手,目前也是刚刚玩转discuz的插件功能,好东西不敢独享,就拿出来大家一起分享入门的过程。 现在网上很多关于discuz的插件教程都是很简单的教程,...

legend3
2015/05/04
0
0
.NET 平台下的开源 CMS--XinYiCMS

XinYiCMS 是一个基于微软公司DotNet架构的网站内容管理系统,也是互联网从业者入门级cms产品。XinYiCMS 采用模块化方式开发,功能强大灵活易于扩展,发布版本都为核心功能框架的应用,面向中...

webgee
2012/11/06
4.6K
2
discuz特殊主题插件开发步骤和犯的愚蠢错误

 discuz作为国内流行的论坛系统,可谓造福了不少趣味相投的网友们。它让天南地北、国内外有着共同兴趣爱好的人们聚集在一起,分享彼此的喜怒哀乐、心得体会。然而作为discuz的使用者之一,还...

嗯哼9925
2017/11/08
0
0
新手discuz!二次开发基本知识

前言:为方便互联网数万discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。本贴内容由本人定期更新。本贴只介绍Discuz!中部分技术点,本贴紧属个人...

岭南六少
2011/08/09
0
0
discuz里,mobile插件的运行流程

最近要给一个discuz的网站开发一个移动客户端,所以在看discuz的源码。discuz的源码中,mobile.php是存在于插件目录中的。用手机访问discuz的站点的话,是通过什么样的流程,进入到/source/p...

zhangsirsdo
2015/01/08
758
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部