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代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值