一个Web网站需要什么?简单说就几个方面,网站风格、页面布局、菜单内容、文章分类和内容等。
一张网页可以抽象为:上部菜单或链接(header)、中部文档(content)、底部菜单或链接(footer)
因此假想一个初步概念,一个网站,其实就是需求方在不断更新或者更换一张网页的Content,从而形成完整的一个网站,因此假如我们能为需求方设计一个管理系统,允许编辑和自动生成网页,那么就不需要再为系统进行开发维护了。因此我们称这个系统为内容管理系统CMS,由两部分组成:控制台、网站。
网页,需要的基本要素包括:固定的头部、可变的内容、固定的尾部。这些仅代码页面布局。
关于主题Theme:网站需要有自己的风格,每个HTML标签甚至都需要有个性化样式。因此为页面布局的上层,是决定网站风格上层建筑,称之为主题(Theme)。主题可以是青春校园风、严肃的黑色、也可以自由定义和拓展。
关于可变的内容:如果说主题决定了整个网站的布局,那么内容内部也需要自己的局部。内容由有许多区块Block拼接成的,如同叠积木。
关于如何生成网页:网站一般是由静态页面和动态数据组成的。但是CMS框架要求自动生成代码,因此需要在运行期间编译后期更改,而编译后的内容也应该是可变的,因此采用的设计思想是运行时编译Runtime。仅在内容更新时,重新拼接并构造完整界面,进而展示。
因此CMS系统的简单逻辑可以这么解释,当用户访问网页时,CMS系统通过预先定义的主题、内容等动态生成网页,然后展示。因此实现了当控制台数据变更时,网页是同步更改的,同时也不需要技术维护。