怎么进行discuz的二次开发

怎么进行discuz的二次开发,第1张

必须至少具备如下技能:

1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)

2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用

3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳

4) 熟悉使用Discuz!的各项功能

一) Discuz!的文件系统目录

注:想搞DZ开发,就得弄懂DZ中每个文件的功能。

a) Admin:后台管理功能模块

b) Api:DZ系统与其它系统之间接口程序

c) Archiver:DZ中,用以搜索引擎优化的无图版

d) Attachments:DZ中 ,用户上传附件的存放目录

e) Customavatars:DZ中,用户自定义头像的目录

f) Forumdata:DZ缓存数据的存放目录

g) Images:DZ模板中的存放目录

h) Include:DZ常用函数库,基本功能模块目录

i) Ipdata:DZ统计IP来路用的数据

j) Plugins:DZ插件信息的存放目录

k) Templates:DZ模板文件的存放目录

l) Wap:DZ无线,Wap程序处理目录

二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。

关于DZ数据库设计文档,请参阅DZ相关的项目

三) Discuz!的流程控制

a)

后台流程控:DZ后台所有的功能,均需要注册到admincpphp文件,每个功能都至少有一个或一个以上的Action(动作),在

admincpphp中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2

admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为actionincphp(incphp),并存放在

admin目录下,如执行:admincpphpaction=dodo,相当于执行admin目录下的dodoincphp文件

b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:

首页:indexphp

会员注册:registerphp;

会员登录:loggingphp

发贴程序:postphp

会员信息:memberphp

论坛内容:forumdisplayphp

查看贴子:viewthreadphp

…大部分功能,此处不一一列出…

c) DZ根目下的configincphp属于整个DZ系统的配置文件

四) Discuz!的数据处理过程

a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysqlclassphp)类中

b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理

五) Discuz!的显示控制(网站多样式风格输出)

a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档

b) DZ网站风格文件处理的原理:其实很简单,DZ使用templatefuncphp中的parse_template()以PHP正则运算把htm模

文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。

六) DZ中的语言处理

a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的langphp文件中,DZ在生成网站风格时就加载了这相应的语言包。

七) DZ如何处理用户信息(存取、计算、更新过程)

新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。

a) DZ的基本信息,如用户信息,Session信息存在如下变量中:

a) $_DCACHE

b) $_COOKIE

c) $_DCOOKIE

d) $_DSESSION

e) $_DPLUGIN

b) 可以通过print_r($GLOBALS),打印全部变量

八) DZ中缓存处理机制

a) DZ中缓存处理过程都放在“cachefuncphp”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。

b)使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:

1)定义并注册缓存名字。

2)从数据读取相应的数据。

3)数据在写入缓存前作相应处理。

4)最后写入缓存。

具体操作,可以看文件中的代码,做相应的修改即可

九) DZ中模板处理机制

a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。

十) DZ中权限处理机制

a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。至于后台的权限权验证,则更简单了,依据“admin==1”来确定的

十一) DZ中如何实现URL静态化

a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。

十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换

a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。

实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码

用户切换配色方案的扩展, 它对应 /template/yourstyle/style/ 目录中的样式文件。全新创建时应在

/template/yourstyle/style/ 目录中建立如:t1/stylecss 之后方能生效!stylecss 文件中头部的

[name]红[/name], [iconbgcolor]#BA350F[/iconbgcolor]

是用来配置后台中的配色方案名称和名称前对应的显示颜色值(采用16位制配色),扩展时需要手动配置所扩展的配色方案的对应名称和显示颜色。注释:此配色的样式加载是在 headerhtm 中根据默认或者用户的上一次设置对应加载的。

1、 首先您需要有一个安装运行的DISCUZ论坛,X1版本以上。

2、 其次您安装了anwsion社交社区程序,11版本以上。

3、 下载anwsion程序的UCENTER扩展包:http://wwwwecentercom/downlo Czip

4、 解压ucenter扩展包,把Upload目录里面的api和uc_client两个目录拷贝到您anwsion程序的安装根目录, 并设置uc_client/data 目录里面所有文件夹和文件可读写。

5、 访问您的uc_server,http://您的discuz地址/uc_server,登录

6、 在UC应用管理里面,添加新应用,并按照图示填入,空白处如果不清楚用途请不要填写,然后提交。

7、 这个时候提交返回的连接通信失败,这是正常的,我们接下来还需要做一些配置方能连接成功。

8、 在上图通信失败后面,点击编辑,进入编辑页面之后页面拉到最下面,显示:

拷贝上图里面Ucenter配置信息,并在第4步骤anwsion程序根目录下的uc_client目录里面新建一个文件名为configincphp的文件(utf8无签名格式),打开粘贴Ucenter配置信息,并把Ucenter配置信息里面的第一行

define(‘UC_CONNECT,’您的mysql数据库名’);

改成为

<php

define(‘UC_CONNECT,’’);

其余不变,保存(utf8无签名格式)。

9、 刷新下您的UCENTER应用管理,这时候应该显示通信成功,如果通信不成功请返回上述过程检查是否配置正确。

10、 登陆anwsion后台,在全局-站点功能里面打开ucenter接口,配置完成。

Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。

目前最新版本Discuz! X34正式版于2017年8月2日发布,去除了云平台的相关代码,是 X32 的稳定版本。2010年8月23日,康盛创想与腾讯达成收购协议,成为腾讯的全资子公司。

扩展资料:

Discuz!发展历程:

2001年6月,社区论坛软件Crossday Discuz! Board(简称 Discuz!)面世,以“个人免费+企业收费”的模式在互联网上流传。

2004年2月,创始人戴志康创建北京康盛世纪科技有限公司(Comsenz)(现更名为:康盛创想(北京)科技有限公司)。

2005年12月,响应互联网开源思想和软件服务化的全球趋势,康盛创想实施社区软件开源免费策略,宣布从软件销售模式向服务模式转型,从而成为中国互联网社区软件领域第一家宣传免费及开源的企业。

2006年上半年,康盛创想(Comsenz)获得国际著名风险投资商红杉资本注资。

2006年6月,康盛创想的Discuz!社区论坛软件,在第四届“软交会”上荣获“中国软件十大自主创新产品奖”。

2006年8月,康盛创想被美国著名风险投资杂志RedHerring评选为未上市的“2006年亚洲百强科技创新企业”。

2008年3月获得晨兴创投(Morningside Ventures),红杉资本中国基金(Sequoia Capital China)和谷歌(Google)投资。

期间,Discuz!和PHPwind的竞争也尤为激烈,随着它们相继宣布开源以后,在各方面,不管技术上,还是功能上,还是界面上,都有了长足的发展。

2010年8月23日,康盛创想与腾讯达成收购协议,成为腾讯的全资子公司。

Discuz! 宣布半关闭。

-discuz!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎么进行discuz的二次开发

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情