您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz!NT各个模块功能说明
卢邦楠2025-07-06Discuz教程已有人查阅
导读Discuz中有24个Project,每个项目各自作为项目架构中的不同的功能。下面我们来各自的分析一下这些项目。(1)DNT中包含的项目(1)Discuz.Web该项目是DNT最终生成网站的项目。
Discuz中有24个Project,每个项目各自作为项目架构中的不同的功能。下面我们来各自的分析一下这些项目。
(1)DNT中包含的项目
(1)Discuz.Web
该项目是DNT最终生成网站的项目。
图(2)Discuz.Web中的内容
Aspx文件夹存放了DNT的网站模板,前面提到在首页显示前的HttpModule处理函数中,有个地址重写的函数:
config文件夹存放论坛的配置信息。论坛配置文件以XML的形式存放在.config配置文件中。
UI文件夹存放了显示页面的基类CS文件。Aspx存放的模板隐藏或基层了这些类。
index.aspx文件就是一个普通的文件,什么都不做,占着位置。当有对他的请求时,就根据配置跳转到指定模板文件夹的页。
DNT.config存放了数据库的配置信息。里边存放了数据库的连接字符串、表的前缀、论坛的虚拟路径、数据库类型、模板号信息。
Web.config是配置文件,没啥好说的。
(2)Discuz.Aggregation
这个项目是聚合数据项目。定义了一些当论坛首页选者为“聚合首页”时需要用到哦的功能。
当设定论坛首页为聚合首页时,显示的页面是Discuz.Web项目中Aspx下模板文件夹中的website.aspx文件打开这个文件可以看到它使用了很多Aggregation中提供的方法。
(3)Discuz.Album
DNT的相册功能。这个项目中提供了一些与DNT相册功能有关的函数和字段的定义。DNT.Web项目中的模板中没有与其对应的东西。因为相册对于DNT论坛来讲相当于是一个插件,需要在论坛安装完毕后单独安装。相册插件安装后,这个项目生成的东西就可以用了。我还没有升级相册用的模板,暂时不做分析,因为前后台功能对不上,我猜不出来这些都是做什么用的。
(4)Discuz.Cache
该项目提供对DNT的缓存进行控制和管理的方法。CacheKeys类中定义了可以进行缓冲的页面和元素。DefaultCacheStrategy提供了对缓存进行管理的方法,如定义缓存的有效期,加载缓存等。DNTCache类提供了对DNT论坛缓存进行全局控制管理的方法。
这些方法是怎样实现的我暂时还理解不了,就不逞能了。
(5)Discuz.Common
这个项目是其他项目提供了一些助手、工具,提供了一些基础性的方法供其他项目调用。这些方法很通用,你甚至可以不用改就在你自己的项目中使用(版权问题,不提倡哦)。如:
MD5函数:public static string MD5(string str)
SHA256函数:public static string SHA256(string str)
SQL字符串检查函数:public static bool IsSafeSqlString(string str)
检测是否有危险的可能用于链接的字符串的函数:public static bool IsSafeUserInfoString(string str)
改正sql语句中的转义字符函数:public static string mashSQL(string str)
脏字过滤函数:public static string StrFilter(string str, string bantext)
构建伪静态页码显示链接:public static string GetStaticPageNumbers(int curPage, int countPage, string url, string expname, int extendPage, int forumrewrite)
这是个很有参考价值的函数,呵呵。
判断文件流是否为UTF8字符集:private static bool IsUTF8(FileStream sbInputStream)
返回相差的秒数函数:public static int StrDateDiffSeconds(string Time, int Sec)
返回相差的分钟数函数:public static int StrDateDiffMinutes(string time, int minutes)
返回指定IP是否在指定的IP数组所限定的范围内:public static bool InIPArray(string ip, string[] iparray)
写cookie值:public static void WriteCookie(string strName, string strValue)
读cookie值:public static string GetCookie(string strName)
过滤HTML中的不安全标签函数:public static string RemoveUnsafeHtml(string content)
将全角数字转换为数字函数:public static string SBCCaseToNumberic(string SBCCase)
XML操作:读写、RSS生成等
图像操作:生成缩略图、计算图片尺寸等
FTP操作:打开关闭FTP连接、获取FTP当前目录下的文件列表、获取获取到文件名列表、FTP上创建目录删除目录,删除重命名FTP文件,FTP上传文件下载文件等。继续研究,还有更多的类供探索。。。。
DNT只是一个论坛程序,却也是麻雀虽小,五脏俱全。想起了吉日旮旯兄的的一篇博客,说的是平时的积累对开发的重要性。
(6)Discuz.Config
这个项目主要提供了一些配置信息的封装、读写类。
聚合首页,相册,API,整合程序配置,论坛快照,Email配置管理,FTP配置管理等等一些类。这些配置信息都以XML的形式存放在安装程序的config文件夹中(.config后缀)。这个项目中涉及了很多XML操作和文件操作,在以后的文章中会详细介绍。
(1)DNT中包含的项目
(1)Discuz.Web
该项目是DNT最终生成网站的项目。
图(2)Discuz.Web中的内容
Aspx文件夹存放了DNT的网站模板,前面提到在首页显示前的HttpModule处理函数中,有个地址重写的函数:
private void ReUrl_BeginRequest(object sender, EventArgs e)
{
。。。。。。。。。。。
//对首页的请求重定向到forumindex.aspx
if (requestPath.EndsWith("/index.aspx"))
{
if (config.Indexpage == 0)
{
if (config.BrowseCreateTemplate == 1)
{
CreateTemplate(forumPath, Templates.GetTemplateItem(int.Parse(strTemplateid)).Directory, "forumindex.aspx", int.Parse(strTemplateid));
}
context.RewritePath(forumPath + "aspx/" + strTemplateid + "/forumindex.aspx");
}
else
{
if (config.BrowseCreateTemplate == 1)
{
CreateTemplate(forumPath, Templates.GetTemplateItem(int.Parse(strTemplateid)).Directory, "website.aspx", int.Parse(strTemplateid));
}
context.RewritePath(forumPath + "aspx/" + strTemplateid + "/website.aspx");
}
return;
}
。。。。。。。。。。。
}
这段代码中
context.RewritePath(forumPath + "aspx/" + strTemplateid + "/ forumindex.aspx ");
是将对首页的请求重定向到指定页面。strTemplateid就是存放在该文件夹中的模板的ID。config文件夹存放论坛的配置信息。论坛配置文件以XML的形式存放在.config配置文件中。
UI文件夹存放了显示页面的基类CS文件。Aspx存放的模板隐藏或基层了这些类。
index.aspx文件就是一个普通的文件,什么都不做,占着位置。当有对他的请求时,就根据配置跳转到指定模板文件夹的页。
DNT.config存放了数据库的配置信息。里边存放了数据库的连接字符串、表的前缀、论坛的虚拟路径、数据库类型、模板号信息。
Web.config是配置文件,没啥好说的。
(2)Discuz.Aggregation
这个项目是聚合数据项目。定义了一些当论坛首页选者为“聚合首页”时需要用到哦的功能。
当设定论坛首页为聚合首页时,显示的页面是Discuz.Web项目中Aspx下模板文件夹中的website.aspx文件打开这个文件可以看到它使用了很多Aggregation中提供的方法。
(3)Discuz.Album
DNT的相册功能。这个项目中提供了一些与DNT相册功能有关的函数和字段的定义。DNT.Web项目中的模板中没有与其对应的东西。因为相册对于DNT论坛来讲相当于是一个插件,需要在论坛安装完毕后单独安装。相册插件安装后,这个项目生成的东西就可以用了。我还没有升级相册用的模板,暂时不做分析,因为前后台功能对不上,我猜不出来这些都是做什么用的。
(4)Discuz.Cache
该项目提供对DNT的缓存进行控制和管理的方法。CacheKeys类中定义了可以进行缓冲的页面和元素。DefaultCacheStrategy提供了对缓存进行管理的方法,如定义缓存的有效期,加载缓存等。DNTCache类提供了对DNT论坛缓存进行全局控制管理的方法。
这些方法是怎样实现的我暂时还理解不了,就不逞能了。
(5)Discuz.Common
这个项目是其他项目提供了一些助手、工具,提供了一些基础性的方法供其他项目调用。这些方法很通用,你甚至可以不用改就在你自己的项目中使用(版权问题,不提倡哦)。如:
MD5函数:public static string MD5(string str)
SHA256函数:public static string SHA256(string str)
SQL字符串检查函数:public static bool IsSafeSqlString(string str)
检测是否有危险的可能用于链接的字符串的函数:public static bool IsSafeUserInfoString(string str)
改正sql语句中的转义字符函数:public static string mashSQL(string str)
脏字过滤函数:public static string StrFilter(string str, string bantext)
构建伪静态页码显示链接:public static string GetStaticPageNumbers(int curPage, int countPage, string url, string expname, int extendPage, int forumrewrite)
这是个很有参考价值的函数,呵呵。
判断文件流是否为UTF8字符集:private static bool IsUTF8(FileStream sbInputStream)
返回相差的秒数函数:public static int StrDateDiffSeconds(string Time, int Sec)
返回相差的分钟数函数:public static int StrDateDiffMinutes(string time, int minutes)
返回指定IP是否在指定的IP数组所限定的范围内:public static bool InIPArray(string ip, string[] iparray)
写cookie值:public static void WriteCookie(string strName, string strValue)
读cookie值:public static string GetCookie(string strName)
过滤HTML中的不安全标签函数:public static string RemoveUnsafeHtml(string content)
将全角数字转换为数字函数:public static string SBCCaseToNumberic(string SBCCase)
XML操作:读写、RSS生成等
图像操作:生成缩略图、计算图片尺寸等
FTP操作:打开关闭FTP连接、获取FTP当前目录下的文件列表、获取获取到文件名列表、FTP上创建目录删除目录,删除重命名FTP文件,FTP上传文件下载文件等。继续研究,还有更多的类供探索。。。。
DNT只是一个论坛程序,却也是麻雀虽小,五脏俱全。想起了吉日旮旯兄的的一篇博客,说的是平时的积累对开发的重要性。
(6)Discuz.Config
这个项目主要提供了一些配置信息的封装、读写类。
聚合首页,相册,API,整合程序配置,论坛快照,Email配置管理,FTP配置管理等等一些类。这些配置信息都以XML的形式存放在安装程序的config文件夹中(.config后缀)。这个项目中涉及了很多XML操作和文件操作,在以后的文章中会详细介绍。
本文标签:
很赞哦! ()
上一篇:discuz邮件设置步骤教程
相关教程
图文教程
Discuz数据库结构表说明
用户权限表 cdb_access 会员的UID编号 uid版块的ID号 fid是否允许查看贴子 allowview是否允许发贴 allowpost是否允许回复 allowreply是否允许下载附件 allowgetattach
Discuz数据结构说明文档
由于工作需要,发现Discuz的数据结构在网上很难找到全的。希望找到的这个能对大家有帮助!discuz数据表结构
discuz安装小云app的步骤方法
小云app登录注册:随着移动互联网的流量越来越大,越来越多的网站转移到移动端,在线制作APP是大势所趋。从早期简网,到今日风头正劲的Dingdone
Discuz的NT控件剖析TextBox
继上篇文章之后大家给了不少的反馈,其中有肯定也有否定的,必定程序设计有很多个性化的东西,因此就会有不同的意见产生。
相关源码
-
自适应html5二极管LED灯具灯饰类企业网网站模板该PbootCMS内核开发的响应式模板专为LED照明、灯具制造类企业设计,通过HTML5技术实现手机与PC端自适应显示,确保跨设备访问体验一致。企业可快速替换图文内容适配其他工业领域查看源码 -
(PC+WAP)化工材料企业环保能源绿色营销型pbootcms模板源码下载本模板为化工材料及环保能源企业设计,采用PbootCMS开发,可展示各类化工产品、环保技术及能源解决方案。查看源码 -
(自适应)游泳馆泳池水处理器设备pbootcms网站模板免费下载专注服务于泳池水处理设备制造商、泳池系统工程商等企业用户。模板预设设备分类体系、技术参数展示模块和解决方案呈现页面,满足行业特有展示需求。查看源码 -
WordPress主题模板JustNews资讯博客类源码V5.2.2JustNews主题针对博客创作、自媒体运营及资讯发布类网站的需求而设计,提供专业的内容展示与管理方案。该主题集成前端用户中心功能,支持用户在前端界面发布和投稿文章,操作流程简洁高效。查看源码 -
(自适应响应式)html5高档服装定制西服pbootcms模板下载本模板基于PbootCMS内核开发,为服装定制企业和服装品牌量身打造。设计风格时尚现代,充分展现服装行业的审美特质与品牌魅力。采用HTML5响应式技术,确保在各种设备上呈现视觉效果。整站布局注重产品展示与品牌叙事,帮助企业有效展示服装系列与定制服务,提升客户体验。查看源码 -
(自适应响应式)动力刀座五金机械设备pbootcms网站源码下载为动力刀座及五金机械企业定制的响应式网站框架,基于PbootCMS系统深度开发,助力传统制造企业实现数字化转型升级。采用手工编写的DIV+CSS前端架构,代码执行效率提升40%。查看源码
| 分享笔记 (共有 篇笔记) |
