区别于其它简单的cms系统,OpenCms中可以使用属性(Properties)和结构化内容(Structured Content),再我们深入研究创建站点之前,让我们来了解一下它们还是很有好处的。
属性(Properties)
每个文件和文件夹都有关联的属性列表,它们被映射成key->value串对,如Title属性,显示的是文件的标题,与文件名称相对应,template属性用来设置页面显示时的模板,还有一些navigation属性,让你决定是否使用动态的导航菜单,此外,用户还可以灵活的自定义一些其它的属性。
例如,有一些通过模板生成的页面显示为样式一,另一些页面只是和这些页面的显示略有不同,显示为样式二,通常的作法是:拷贝模板,做一下极小的改变存成另一个版本,然后为每一个页面指定不同的模板。这种作法违反了DRY原则(Don't repeat yourself,参见《,
The Pragmatic Programmer 》),所以,更好的作法是定义一个属性,这样,页面编辑人员就可以为每个文件修改属性来达到这个目的,当然,在你的“模板”中,需要根据这个属性的不同值来进行不同的表现。
这么做会增加模板编码的复杂性,所以:这不会像是在公园中漫步一样悠闲,但是它会使你和编辑人员做在管理时做一些“很酷的事”,使生活变得更轻松。
结构化内容(Structured Content)
OpenCms中你可以自己定义“结构化内容”,所谓的“结构化内容”实际上就是XML格式的数据,这种类型数据的好处就是在编辑它们时,它能够为编辑人员展现一个友好的编辑页面。
例如:在一个页面的顶部,你可能会有一组链接,像是:首页,联系我们,站点地图等,不在模板中进行复杂的编码,也不让你的编辑人员像编辑文本一样管理它们,而是使用结构化内容,这样做你可以让编辑人员通过一种友好的编辑表单来管理这些“链接”,并且在你的模板中把这些XML数据转换成相应的显示样式,下图就是这个友好的编辑表单。
例如:在一个页面的顶部,你可能会有一组链接,像是:首页,联系我们,站点地图等,不在模板中进行复杂的编码,也不让你的编辑人员像编辑文本一样管理它们,而是使用结构化内容,这样做你可以让编辑人员通过一种友好的编辑表单来管理这些“链接”,并且在你的模板中把这些XML数据转换成相应的显示样式,下图就是这个友好的编辑表单。
![](https://p-blog.csdn.net/images/p_blog_csdn_net/qianxuncms/286037/o_17.png)
谢谢关注 OpenCms——中文资源第一博客,欢迎与作者直接交流,共同进步。MSN: qianxuncms@hotmail.com,QQ:9165456。