您现在的位置是:首页 > 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处理函数中,有个地址重写的函数:
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操作和文件操作,在以后的文章中会详细介绍。

本文标签:

很赞哦! ()

相关源码

  • pbootcms模板PC+WAP娱乐新闻资讯类博客网站源码该模板基于PbootCMS内核开发,专为娱乐新闻、健康生活类资讯网站设计,同时支持快速适配其他行业(如企业官网、博客门户等),仅需替换图文内容即可完成转型。查看源码
  • (自适应)五金配件机械加工设备pbootcms模板免费下载这款基于PbootCMS开发的网站模板为五金配件和机械加工行业设计,采用简洁有力的设计风格,突出工业产品的专业性和可靠性。模板结构清晰,功能完善,能够有效展示各类工业产品的技术参数和应用场景。查看源码
  • (PC+WAP)红色户外岗亭钢结构岗亭pbootcms网站模板为钢结构岗亭、户外设施企业打造的高端响应式营销门户,基于PbootCMS开源内核深度开发,采用HTML5自适应架构,实现PC与移动端数据实时同步展示。查看源码
  • (自适应)帝国cms7.5模板自媒体文章新闻博客为帝国CMS7.5设计的响应式模板,采用H5技术构建现代化内容展示框架。通过智能断点检测技术实现手机、平板、PC三端适配查看源码
  • pbootcms(自适应)SEO优化排名服务公司网站模板核心定位为SEO排名服务商打造的营销型网站框架,集成PbootCMS开源系统的高效管理能力与SEO最佳实践方案,助力企业快速建立专业的技术服务形象。查看源码
  • (自适应)html5宽屏电线电缆材料加工制造类企业网站源码下载本模板基于PbootCMS系统开发,特别适合电线电缆、电缆材料及相关加工制造类企业使用。采用HTML5宽屏设计,能够展示各类电缆产品的技术参数和规格详情,帮助客户全面了解产品特性。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐