OpenCms 中實現文章分類功能

    以前在 OpenCms 中實現文章分類的功能,一直都是在 VFS 中建立對應的目錄來實現的.這樣方便實現,也是很多人習慣使用的方法.這裏就不在介紹了.

    很早就聽說 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在線演示站點失效


發佈了5 篇原創文章 · 獲贊 1 · 訪問量 2454
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章