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) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中
b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
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!的显示控制(网站多样式风格输出)
a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。
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把用的一些操作转换成了DZ的bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码
转载于:https://www.cnblogs.com/e3allen/archive/2012/06/25/2560662.html
Discuz! 7.2 二次开发基础 (一)相关推荐
- C# Revit二次开发基础/核心编程---建筑建模-标高和轴网
一.本节课程 C# Revit二次开发基础/核心编程---建筑建模-标高和轴网 二.本节要讲解的知识点 1.标高的高度.创建标高 2.轴网曲线.创建轴网 具体内容 1.标高 标高是有限水平平面,大多数 ...
- C# Revit二次开发基础/核心编程--- Application\Document\Transaction
一.本节课程 C# Revit二次开发基础/核心编程--- Application\Document\Transaction 二.本节要讲解的知识点 Application\Document\Tran ...
- MapGis二次开发——基础地图目录树控件的加载
MapGis二次开发--基础地图目录树控件的加载 第一步:添加MapGis引用 MapGis动态库位置是在你安装位置下的\Program\plugin下,例如我的安装位置就是:D:\MapGIS 10 ...
- ArcGIS二次开发基础教程(11):网络分析之最短路径分析
ArcGIS二次开发基础教程(11):网络分析之最短路径分析 最短路径分析 这里直接调用了在mdb中建立好的网络数据集 //全局变量 private INetworkDataset my_networ ...
- ArcGIS二次开发基础教程(10):三维分析
ArcGIS二次开发基础教程(10):三维分析 坡度分析 请务必学会使用帮助文档!!! //DEM数据的坡度分析 将分析结果添加到地图上 //首先获取DEM数据,方法有很多例如从个人地理数据库获取,也 ...
- ArcGIS二次开发基础教程(06):有关图层的基本操作
ArcGIS二次开发基础教程(06):有关图层的基本操作 0. PageLayout和MapControl 的同步 void CopyToPage(){//对象拷贝,把mapcontrol的地图拷贝重 ...
- ArcGIS二次开发基础教程(13):网络分析之最近设施分析
ArcGIS二次开发基础教程(13):网络分析之最近设施分析 最近设施分析 /// <summary>/// Geodatabase function: open work space// ...
- ArcGIS二次开发基础教程(09):叠加分析
ArcGIS二次开发基础教程(09):叠加分析 缓冲区分析的概念及原理请查看帮助文档 http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/analy ...
- ArcGIS二次开发基础教程(00):基础界面设计
ArcGIS二次开发基础教程(00) : 基础界面设计 (开发环境:VS2010+ArcEngine10.2+C# :鉴于学习ArcGIS二次开发的同学都有一定的WinForm开发和ArcGIS软件使 ...
- ArcGIS二次开发基础教程(03):保存文档和导出地图
ArcGIS二次开发基础教程(03):保存文档和导出地图 保存文档 保存: //这里的path为全局变量 在打开文件获添加数据时赋值原路径 //判断打开文件是否为mxd文件 是则保存 不是则另存为 i ...
最新文章
- 渗透Xen hypervisor
- padding valid same区别——就是是否补齐0的问题
- Mysql的性能优化
- 问题解决:无法获得锁 /var/lib/dpkg/lock
- 【转】用 PHP V5 开发多任务应用程序
- 使用代码创建ABAP transparent table
- java se 导原码_Java SE 8新功能导览:Java开发世界中的重大变化
- MOVSX和MOVZX
- Flash Builder 4中文快速入门PDF
- Netflix Media Database - 架构设计和实现
- 生产宕机dunp配置
- typedef void far *LPVOID 的具体定义
- 干货 | 收藏贴!一文看懂静态资源服务沉浮及其在携程的演进
- 制作一款精美的 Qt IFW 安装程序
- 【Unity国际版下载地址】
- 【C++从入门到入土】第五篇:继承(爆肝画图详解)
- 一、概述(知识图谱构建射雕人物关系)
- 【FFmpeg】ffplay 源代码结构图+播放模式分析
- 利用js写的见缝插针小游戏
- 摩尔斯密码 php代码,摩尔斯密码 - 一个工具箱 - 好用的在线工具都在这里!
热门文章
- mac版有道云笔记切换笔记后内容仍展示前一个笔记内容问题解决
- coreldraw梯形校正_CorelDRAW改变用形状识别所绘制对象的轮廓
- java模拟键盘操作,java自动化操作
- 【渝粤教育】国家开放大学2018年春季 3819-21T燃气安全管理 参考试题
- 【5分钟 Paper】Deep Reinforcement Learning with Double Q-learning
- 【NOIP2014模拟8.25】设备塔
- [POI2000]病毒(补全AC自动机)
- oracle 基础查询语句
- ng-show和ng-if的区别和使用场景
- 1-5Badboy添加检查点和参数化