dtcms模板引擎文档

wuchangjian2021-10-24 12:39:36dtcms

模板引擎

URL重写,实质上是将网页真实URL隐藏起来,使用户通过相应的虚拟URL访问网页资源,以便克服真实URL的许多不足。IIS Rewrite的工作原理请看下图:

image.png

DTcms的HttpModule类位于DTcms.Web.UI项目下,它是整个站点的URL请求的核心,每次URL发起的请求都会经过它负责重写分配。我们可以从站点下的Web.config文件中看到一个如下的节点:

<httpModules>
    <add type="DTcms.Web.UI.HttpModule, DTcms.Web.UI" name="HttpModule" />
</httpModules>

image.png

无论你想获得网站的一个页面或者是一张图片,都会经过HttpModule这个类处理,它就像是作战的总指挥,它负责分配每个HTTP请求的去向。

DTcms的URL重写表达式

DTcms的URL重写表达式,我们暂且称它为URL字典。我们在后台所做的一切修改,都会保存在一个XML文件中,它位于DTcms.Web项目的xmlconfig文件夹下的urls.config文件。当然,为了性能和效率有所提升,系统将会读取该文件中的内容进行续存,当文件进行修改时,续存自动更新。

Rewrite属性说明:

属性说明示例
name该条URL重写表达式调用的名称,该属性值不允许重复,一般在前台模板做链接时使用到。<%linkurl(“news_list”)%>
type系统会根据页面类型做不同的URL重写处理,也会根据页面类型继承不同的类。

可选值有:

  1. index:首页

  2. list:列表页

  3. detail:详细页

  4. category:栏目页

  5. plugin:插件页

  6. other:其它页

page后台生成模板时,读取模板文件经过解析后,保存成aspx动态页面的文件名。news_list.aspx
inherit后台生成模板时,在保存成aspx动态页面时,头部要继承的类名,全局限定名。DTcms.Web.UI.Page.article_list
templet后台生成模板时,该aspx页面对应的模板文件名,系统自动寻找该模板文件读取内容。news_list.html
channel该条URL归属的频道名称,系统会自动生成,无需手动填写,如果不属于频道则可以忽略该属性。news

item子节点属性说明:

属性说明示例
path

URL重写表达式

{0}表示第一个参数的值
{n}表示第N个参数的值
news/{0}/{1}.aspx
<!—表示有两个参数-->
patternURL重写正则表达式
和path是对应的,只不过上面用的是{n}表示,而这里用(正则表达式)表示
news/(\d+)/(\w+).aspx
<!—对应两个正则表达式分组-->
querystring该URL所带的参数
参数名称=$1,$1表示第一个参数的值,如有多个参数用^连接起来。
category_id=$1^page=$2
<!—第一个参数是类别ID,第二个参数是分页页码-->


相关文章

dtcms类库说明文档

类库说明项目名称说明DTcms.DBUtility数据库应用层独立项目,不依赖其它类库,只要负责对数据库的连接。DTcms.Model实体层只要对数据库字段的描述及定义,为传递各种数据的容器,相当于一...

dtcms标签语法

标签语法DTcms 模板语法和C#非常接近,4.0和3.0版本中,标签语法大同小异,依然符合于技术开发人员的编程习惯。如果你是一名程序员,下面的语法我相信只需要看一次便可牢牢记住各种标签的使用规则,所...

dtcms安装教程

安装环境一、安装环境要求开发工具:Microsoft Visual Studio 2010操作系统:Windows Server 2008(推荐) 、Windows Server 2003(推荐)、W...

dtcms页面标签文档

页面标签内置的页面标签,实际上是动态生成的aspx文件要继承的类,这些变量与方法只允许对应的模板页面使用。位于DTcms.Web.UI项目的Page目录下,如果开发者需要增加一个页面可以在此目录中增加...

dtcms建站流程

dtcms建站流程

建站流程1、创建站点DTcms可以一站划分,支持多个子站点。使用DTcms创建自己的网站时,第一步就是要创建站点,单击“控制面板”>“站点设置”>“站点管理”,如图所示:添加站点单击内容页...

dtcms常见问题

常见问题Q:为什么在本地运行网站前台正常,发布后上传服务器上面访问前台出现404错误?A:DTcms从4.0开始,IIS应用池设置为集成模式不用做任何的设置,上传服务器即可运行。出现这种情况,可能出现...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。