CMS
文章平均质量分 81
maddemon
这个作者很懒,什么都没留下…
展开
-
CMS系统模版引擎设计(2):页面生产流程
上节我们介绍了下基本的几个类。下面我们来讲下本CMS系统的运行机制。一个Url请求过来,我们的CMS系统就要对URL进行分析,知道其Domain属于哪个Site,Url符合哪个Page的访问规则,然后再把Page的Template里的Label进行行替换。如何拦截Url请求呢? 那就是HttpModule。自定义一个CMSHttpModule:IHttpModule,在config原创 2011-07-02 19:53:57 · 4400 阅读 · 0 评论 -
CMS系统模版引擎设计(1):基础类型
写博文写教程性质的内容,大家比较喜欢,具体的项目设计方案关注的人比较少,而且思路也不一定说的清楚,本身写博文就比较辛苦,作者再偷点懒,那基本上就是一篇废文。尽管如此,我还是想写一下我做过的一个项目的模块设计——CMS的模版引擎。呵呵,叫成“引擎”就是夺人眼球而已。其实就是一个标签解释的过程模块。做过网站的朋友都对CMS很熟悉,有的朋友也接触过N多CMS系统,国内比较流行的有dedeCMS,原创 2011-07-02 19:52:01 · 5910 阅读 · 0 评论 -
CMS系统模版引擎设计(3):Label基类的设计
上节讲了页面的整个生产流程,大家都期待第三篇,也就是生产的核心内容——Label的替换。说实话,我很有压力啊:)一个人一个实现思路,所以...可能你不能接受。我的标签分为2种,一种是配置变量标签(就是站点和系统的Config),用 %变量名%表示,在初始化Labels之前是要执行替换的。另外一种就是数据调用的Label咯。看下风格://简单的循环列表{Article:List原创 2011-07-02 19:57:28 · 3578 阅读 · 0 评论 -
CMS系统模板引擎设计(4):Parameter类设计
紧接上回,说到Parameter和Field了。在Label初始化的时候,同时也要对ParameterCollection和FiledCollection初始化。在上节有个属性是这样写的ArticleId=Url(articleid),意思是ArticleId 的值是url的query里的articleid的参数的值。而且还有个 DateFormat="yyyy年MM月dd日"。所以可以看原创 2011-07-02 19:58:17 · 2999 阅读 · 0 评论 -
CMS系统模板引擎设计(5):Label应用初探
话说上节听的很郁闷,讲的也郁闷,整个系列没有详细的Code,所以都有点懵。其实仔细看之前的几节应该还是能够理解整个思路的。 我在这里再整理一遍: 用户访问URL后 ->根据所有Page的URL规则(urlpattern)获取当前Page,然后再根据page的Template,Find出所有的Label(通过反射),然后遍历这些Label,把得到的数据的Html替换掉Label本身的标签代码原创 2011-07-02 20:00:00 · 3121 阅读 · 0 评论 -
CMS系统模板引擎设计(6):Field的类的设计
Field的意思是字段,我们在展示一条数据的时候总是要展示具体的某些字段,有时候是一条数据,有时候是个循环。一条数据的时候很好处理,我们把数据准备好,然后替换相关的[field]标签就行了。当循环输出的时候,其实只需要调用显示一条数据的方法就行了。Field的标签格式大概是这样:[field:PostTime length=10 dateFormat="yyyy-MM-dd H原创 2011-07-02 20:01:47 · 1743 阅读 · 1 评论