很早就聽說 OpenCms7 中有了內容的分類功能, 也很早就看到 馬宣的個人網站 使用這個功能做了自己基於 OpenCms 的 BLOG ,可惜一直沒有時間好好研究一下.今天看看 OpenCms 自己在 TemplateTwo 中的實現,追蹤了一下代碼.大致明白了這個用法.
在 OpenCms7 中的 "/system/" 目錄下增加了一個 "categories" 目錄,這個目錄就是存放整個站點的內容分類結構的.
可以建立類似這樣的目錄:
做爲分類目錄.
然後在寫文章的時候,可以指定資源的 Assign Categories ,對資源進行分類.譬如:
在這裏,可以同時指定屬於幾個分類,就象我在 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在線演示站點失效