LZCMS开发进度(一)

Filed under: 程序作品 |
Posted on

这个部分我想谈谈LZCMS的核心思想,也就是我所理解的内容管理系统对于”内容“的定义。

网站一般会划分为几个频道,频道本身根据功能可以划分为信息资讯类、交易类、互动类。但是,网站的根本就是页面,一个又一个的页面,这些页面根据功能又人为的做了一些区分,比如频道首页、频道内页、专题页等等。而页面则是内容的载体。可以用下图来做一个抽象的表达:

换言之,内容组成页面,页面组成网站。而LZCMS就是对这些组成页面的基本内容的管理,在LZCMS,这些内容被称为”模块“。不同的模块组成页面所需要的内容,而XHTML+CSS的模板则提供页面呈现的样式。

传统CMS尤其是国内的CMS系统喜欢用频道的方式来划分网站内容,一般大频道下还会包含小分类,进而延续到网站前端呈现的频道划分。从信息的层次化角度来说,这样做无可厚非,对于网民的浏览也很有利。而在LZCMS里,没有这些频道的划分及管理,从功能角度来说,只有页面管理、模块管理、模板管理、插件管理及用户管理。

(非最终发布版LZCMS的后台管理界面,仅供参考)

作为组成页面内容的最小单位的“模块”,本身是有着不同的类型的,在LZCMS里,不同的模块类型是由插件来实现的,系统暂时内置三个模块类型插件:RSS文本模块、RSS图片模块、HTML内容模块。将这三个模块放到页面上,我试举例做一个对应:

  • 页面某个地方需要显示最新的十条新闻标题,LZCMS的做法是在这个地方新建一个RSS文本模块,输入最新十条新闻的RSS地址
  • 页面某个地方需要显示最新的八张相册图片,新建一个RSS图片模块,输入最新的八张相册图片的RSS地址
  • 页面上有一些手工块、无序的内容块等,则用HTML内容模块

当然,如果你觉得这些模块类型不够用,那么你完全可以独立自主的以插件的形式来开发新的模块类型。目前,LZCMS系统已经实现了三个钩子点:lz_getBlockTypeList、lz_setBlockEditForm、lz_getBlockContent。

模块是具备共用性的,建好模块后,你可以在任意一个页面中进行调用,这样在创建页面时,共用模块保证了工作效率的提高,不用对页面上的模块重复创建。

模块本身具备tag特性,用tag来做信息之间相互关联。

写到这里,不知道读者是否已经明白了我对“内容”在LZCMS中的定义。我先提出一个可能的疑问:“怎么去区分不同的频道?”

答:如果你有4个频道,每个频道有自己的频道首页、频道内页,在LZCMS中分别就是8个页面模板:4个频道首页的模板、4个频道内页的模板。

如果读者还有疑问,可留言回复,大家一起来探讨探讨。

相关文章

Tags :
Trackback url : u can trackback from your own site
分享到新浪微博

One Response to “LZCMS开发进度(一)”

  1. lzcms build2-3进度介绍 | mind3 project Says:

    [...] lzcms中对于cms方面的理解和基本原理请参考作者网站的介绍。 [...]

Leave a Reply