TextPattern的模版系统
国外的CMS有一个特点,就是特别注重架构,相反,国内的CMS侧重点是功能和外观,却没有一个好的架构。TextPattern是我很喜欢的CMS,然而国内用户很少,也没有一个完整的介绍文章,在这里我简单介绍一下TextPattern的模版系统。
很多TextPattern的初学者总是有一个问题,搞不清TextPattern的模版系统。因为TextPattern并没有像WordPress那样的1-Click风格变换,这大概就是TextPattern普及度不高的原因。想要修改TextPattern的设计,必须弄清楚 TextPattern的模版系统的架构。
页面结构简单分析
先来讲页面结构,看下面的示意图(“|”表示分列):
Header
Content | Sidebar
Footer
上面是一个简单的两栏式布局,而CMS的关键就是控制Content中的内容,把Content拆解来看:
Article 1 Title
Article 1 Content
Article 1 Misc
—————————————
Article 2 Title
Article 2 Content
Article 2 Misc
….
理解Page和Form
每一文章都由标题,内容和杂项所组成。整个Content包含了许多“文章”。现在问题来了,如何去控制这些页面的模版。TextPattern引入了两个重要概念:Page和Form。
Page可以翻译成页面,这个页面有自己独特的Header/Content/Sidebar/Footer。
Form可以翻译成片段,这个片段控制了文章自己的模版,包括Article Title/Article Content/Article Misc。
这两个概念是如何联系起来呢?请记住:Page可以调用并且重复利用Form。
我再来解释这句话,首先,Page可以调用Form的东西,你也许会问,为什么不直接写到Page里面,而要调用呢?这就是第二点,Page可以重复利用 Form。就比如说文章的模版都是一样的,Page要显示5篇文章,那一个一个的写5个完全相同结构的模版效率太低,TextPattern允许你的在 Form中定义文章的样式,然后在Page用一个标签让TextPattern自动为你的5篇文章调用某个Form模版,示意图如下(Sidebar省略)。
Header
——————————————————————
Article 1 with Form Template 1
——————————————————————
Article 2 with Form Template 1
——————————————————————
Article 3 with Form Template 1
——————————————————————
Article 4 with Form Template 1
——————————————————————
Article 5 with Form Template 1
——————————————————————
Footer
评论也可以通过这种方式来实现,定义一个Comment的Form样式,然后重复调用。
由于Form可以被重复调用,所以也可以用来实现网页的Header/Sidebar/Footer。比如分别写好这三个区块的样式到三个Form,然后在 Page分别调用。应为调用的语句就一句话,会让Page代码显得非常简洁。这样可以实现全站通用的Header/Sidebar/Header。如果你想为每一个Page单独设计,不妨直接把代码写到Page里面。
从网页到网站
理解了Page和Form之后,你就可以成功建立起一个(动态)网页了。然而一个网站有许多网页,怎么样组织这些网页,就需要用到Section。
Section可以翻译成部分,每个网站都与许多不同的部分,重点来了:每一个Section必须对应一个Page模版。用函数的方法来解释一下就是说y=x; x即为Section,y即为Page模版。一个Page模版可以应用到许多Section上,但是一个Section只有一个Page模版。所有 Section下的页面都是用同样的页面模版。这样的话,一个网站的架构就出来了。总结一下就是说:
一个网站有许多的Section,每一个Section都有一个不一定是唯一的Page模版, 每一个Page模版都可以调用并且重复利用Form。
这样一个你就可以利用TextPattern的模版系统控制网页的任何内容的样式了。
关于文章的版权,遵循创作公用协议,欢迎你转载该文章,传播知识,但是请保留作者署名和原文连接。
Comment
Post Date: Jan 14, 01:47 PM
Author:
Category: