OpenCms 中实现文章分类功能

    以前在 OpenCms 中实现文章分类的功能,一直都是在 VFS 中建立对应的目录来实现的.这样方便实现,也是很多人习惯使用的方法.这里就不在介绍了.

    很早就听说 OpenCms7 中有了内容的分类功能, 也很早就看到 马宣的个人网站 使用这个功能做了自己基于 OpenCms 的 BLOG ,可惜一直没有时间好好研究一下.今天看看 OpenCms 自己在 TemplateTwo 中的实现,追踪了一下代码.大致明白了这个用法.

    在 OpenCms7 中的 "/system/" 目录下增加了一个 "categories" 目录,这个目录就是存放整个站点的内容分类结构的.
可以建立类似这样的目录:
OpenCms 中实现文章分类功能做为分类目录.

    然后在写文章的时候,可以 指定资源的 Assign Categories ,对资源进行分类.譬如:
 
OpenCms 中实现文章分类功能    在这里,可以同时指定属于几个分类,就象我在 sohu 的 Blog 上写文章可以同时指定最多5个关键词一样.这样就可以以不同的关键词做为参数读取内容列表了.

    在 OpenCms7 中也增加了这样一个 collector —— CmsCategoryResourceCollector,用它来实现按照分类得到资源列表.这个类的 List allKeyValuePairFiltered(CmsObject cms, String param) 方法就可以返回期望的列表.

    具体在使用的时候还是比较容易的.只需要和以前一样使用
<cms:contentload> 标签就可以了.所不同的是,在这里需要指定的除了 collector的属性需要是 "allKeyValuePairFiltered" 之外,还需要按照指定的分类,就是在 param 中增加 categoryTypes=[category1,category2,...]来指明.当然,你还可以同时指明需要找的是那个目录下面的、是否包括子目录、列表排序方法是按照发布时间还是分类、排序是正序还是倒序、列表最大显示多少项目……

    当然了,可能的话,可以象下面一样开发自己的配置文件,这样使用起来就更方便了。



    =================================
    个人觉得,这样做分类功能要比纯粹使用目录来分类好的多。不知道 maxuan 是不是这样实现的呢?


我的相关日志:

2007-03-23 |  [转]OpenCms for MySql 安装图解
2007-03-23 |  [转][图文]OpenCms VFS plugin for Eclipse 安装与使用
2008-04-12 |  <cms:param>标签的使用
2008-04-11 |  <cms:img>标签的用法举例说明
2008-04-10 |  再谈<cms:contentaccess>标签的使用
2008-04-09 |  浅谈<cms:contentaccess>标签的使用
2008-04-08 |  OpenCms 7 Development 5月份即将出版
2008-04-07 |  OpenCms中操作外部数据库的方法之二
2008-04-06 |  OpenCms中操作外部数据库的方法之一
2008-04-05 |  有趣的OpenCms后台登录界面
2008-04-04 |  我的OpenCms在线演示站点失效


你可能感兴趣的:(eclipse,数据结构,cms,mysql,出版)