Discuz! 7.2 二次开发基础 (一)

Discuz!的流程控制

 

a) 后台流程控DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 || admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件

 

b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:
首页:index.php
会员注册:register.php
会员登录:logging.php
发贴程序:post.php
会员信息:member.php
论坛内容:forumdisplay.php
查看贴子:viewthread.php
大部分功能,此处不一一列出

 

c) DZ根目下的config.inc.php属于整个DZ系统的配置文件

 

 

 

Discuz!的数据处理过程


a) DZmysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中

 

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

 

 

 

 

Discuz!的文件系统目录

注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块
b) ApiDZ系统与其它系统之间接口程序
c) ArchiverDZ中,用以搜索引擎优化的无图版
d) AttachmentsDZ中 ,用户上传附件的存放目录
e) CustomavatarsDZ中,用户自定义头像的目录
f) ForumdataDZ缓存数据的存放目录
g) ImagesDZ模板中的图片存放目录
h) IncludeDZ常用函数库,基本功能模块目录
i) IpdataDZ统计IP来路用的数据
j) PluginsDZ插件信息的存放目录
k) TemplatesDZ模板文件的存放目录
l) WapDZ无线,Wap程序处理目录

 

 

 

 

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

 

a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templatesimages下对应一个风格文件的存放目录。

 

b) DZ网站风格文件处理的原理:其实很简单,DZ使用template.func.php中的parse_template()PHP正则运算把htm模文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。

 

 

 

 

DZ独创的HTML编辑器

 

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


a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。实现原理:通过JS把用的一些操作转换成了DZbbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码

posted on 2012-06-25 03:12  织梦的大白兔  阅读(370)  评论(0编辑  收藏  举报

导航