CMS系统模版引擎设计(1):基础类型

CMS系统模版引擎设计(1):基础类型

ID:41560406

大小:57.21 KB

页数:8页

时间:2019-08-27

CMS系统模版引擎设计(1):基础类型_第1页
CMS系统模版引擎设计(1):基础类型_第2页
CMS系统模版引擎设计(1):基础类型_第3页
CMS系统模版引擎设计(1):基础类型_第4页
CMS系统模版引擎设计(1):基础类型_第5页
资源描述:

《CMS系统模版引擎设计(1):基础类型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、写博文写教程性质的内容,大家比校喜欢,具体的项目设讣方案关注的人比较少,而且思路也不一定说的淸楚,木身写博文就比较辛苦,作者再偷点懒,那基木上就是一篇废文。尽管如此,我述是想写一下我做过的一个项目的模块设计——CMS的模版引擎。呵呵,叫成“引擎”就是夺人眼球而CoM实就是一个标签解释的过程模块。做过网站的朋友都对CMS很熟悉,有的朋友也接触过N多CMS系统,国内比较流行的有dedeCMS,phpCMS,mCMS,KingCMS,PowerEasyCMS等等,他们都有个共同的特点,就是前台的实现是模版标签机制。标签的好处就是可以让非专业开发人员通过特定的

2、标签实现数据调用。一段标签表示一种数据的调用。那我的这个CMS也是干这事的,不过是用.NET实现的。实现思路也是自己琢磨出來的,如有雷同,那真是太巧合了:)从哪里开始讲呢?述是从业务开始吧!当公司接到一个网站的单了后,就要佔算价格。佔算价格一般都要问开发经理这个网站的开发周期和难度(方便忽悠好要价),开发经理也就是我们技术leader,他会佔算该网站大概需要多少页而,需要什么了模块,需要干多久(假如没有CMS的话)。呐,这里就有个靈要的信息,就是需要多少页而和什么模块。做一个网站我们肯定要考虑他的功能模块,也要考虑多少页而。功能模块一般有文章、图片(相

3、册)、视频、投票、留言、评论、下载、单页、自定义表单等等。我们介绍模版,这些功能模块就不多提了。页而的概念便是需要多少去制作的Page.aspxo一般有首页(了站首页)、封而页(可以理解为栏目封而)、列表页、详情页、独立页(关于我们Z类的),不同的数据类型还不一定一致,比如新闻和下载都是不一样的页。而模版的话不可能是要制作人员创建aspx的,他们只会用模版。所以通过这些信息我们能想到需要设计哪些类呢?Page类、Template类、Label类,页面、模版和标签。Label涉及到具体的标签系列,Ml暂且不说,先看Template如何设计?一个模版有何设

4、计的?有的CMS系统就是直接读取静态文件,但是我说这样不好,我们要在代码里有他的具体类型才能更方便的处理。国耳代码III

///模版类IIIpublicclassTemplate///III模版ID///publicGuidTemplateld{get;set;}IIIIII模版名称///publicstringName{get;set;}III///模版内容///publicstringContent{

5、get;set;}III

///是否为部分视图IIIpublicboolIsPartial{get;set;}}初步设计就是如此,增加了一个IsPartial屈性,因为我们的模版或许会作为部分视图在其他模版里调川,就像UserControl一样。那么Page类的设计就略显复杂了。我们想访问一个Page起码要冇访问路径吧,所以就要冇一个UrlPattern属性,也就是访问规则,因为像详细页一般只是参数的变化,所以URL不能写死,只能是一个规则。既然有规则,也会有一些参数,而且参数不一定是?name=value形式,可能

6、IIIUrl访问规则IIIpublicclassUrlPattern{///

///具体规则IIIpublicstringP=ttern{get;set;}//////正则引擎IIIpublicRegexRegex{get;set;}//////参数列表IIIpublicstring[]Parameters{get

7、;set;}III

///获取某个参数的值IIIIIIIIIpublicstringGetValue(stringrawurl,stringname){thrownewSystem•NotImplementedException();是的,你没看错,我们要用正则表达式,这可能是对制作人员难度最人的部分。:)不过可以教他们初级的写法,可以应付绝人多数需求。比如我

8、写一•个规则如下/details/(?d+),这个表明参数名为arti

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。