以前在 OpenCms 中实现文章分类的功能,一直都是在 VFS 中建立对应的目录来实现的.这样方便实现,也是很多人习惯使用的方法.这里就不在介绍了.
很早就听说 OpenCms7 中有了内容的分类功能, 也很早就看到
马宣的个人网站 使用这个功能做了自己基于 OpenCms 的 BLOG ,可惜一直没有时间好好研究一下.今天看看 OpenCms 自己在 TemplateTwo 中的实现,追踪了一下代码.大致明白了这个用法.
在 OpenCms7 中的 "/system/" 目录下增加了一个 "categories" 目录,这个目录就是存放整个站点的内容分类结构的.
可以建立类似这样的目录:
![](http://121.img.pp.sohu.com/images/blog/2008/4/28/2/25/11a301e7dbb.jpg)
做为分类目录.
然后在写文章的时候,可以
指定资源的 Assign Categories ,对资源进行分类.譬如:
![](http://121.img.pp.sohu.com/images/blog/2008/4/28/2/27/11a302094d3.jpg)
在这里,可以同时指定属于几个分类,就象我在 sohu 的 Blog 上写文章可以同时指定最多5个关键词一样.这样就可以以不同的关键词做为参数读取内容列表了.
在 OpenCms7 中也增加了这样一个
collector —— CmsCategoryResourceCollector,用它来实现按照分类得到资源列表.这个类的 List allKeyValuePairFiltered(CmsObject cms, String param) 方法就可以返回期望的列表.
具体在使用的时候还是比较容易的.只需要和以前一样使用
<cms:contentload> 标签就可以了.所不同的是,在这里需要指定的除了
collector的属性需要是 "allKeyValuePairFiltered"
之外,还需要按照指定的分类,就是在
param 中增加
categoryTypes=[category1,category2,...]来指明.当然,你还可以同时指明需要找的是那个目录下面的、是否包括子目录、列表排序方法是按照发布时间还是分类、排序是正序还是倒序、列表最大显示多少项目……
当然了,可能的话,可以象下面一样开发自己的配置文件,这样使用起来就更方便了。
![](http://122.img.pp.sohu.com/images/blog/2008/4/28/2/16/11a3035537b.jpg)
=================================
个人觉得,这样做分类功能要比纯粹使用目录来分类好的多。不知道 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在线演示站点失效
分享到:
相关推荐
内容类型在 OpenCms 中扮演着至关重要的角色,它们定义了数据的结构和行为。通过创建自定义的内容类型,用户可以根据项目需求定制化内容的展现形式和管理方式。例如,可以创建新闻文章类型、产品目录类型或图片库...
1. **内容模型**:OpenCMS 的内容模型允许开发者定义网站上不同类型的内容,如文章、图片、新闻等。通过Java API,开发者可以创建、更新和删除内容类型,并为每种类型设置属性和字段。 2. **资源管理**:OpenCMS ...
- **新闻门户**:用于发布最新资讯,支持文章分类、搜索等功能。 **1.7 小结** 本章主要介绍了CMS的概念、发展历程以及OpenCMS的基本情况。接下来我们将详细介绍如何安装和使用OpenCMS。 #### 二、安装OpenCMS **...
- **内容创建**:利用OpenCms提供的内容编辑器,创建各种类型的内容,如文章、图片、视频等。 - **工作流管理**:设置工作流,对内容进行审核、批准后发布至网站前端。 - **多语言版本**:为不同语言的访客提供相应...
6. **集成其他系统**:OpenCMS可以与CRM、ERP等企业系统集成,实现数据共享。 六、入门指南 《OpenCMS内容管理入门指南.doc》可能是介绍如何安装、配置和使用OpenCMS的基础教程。这份文档可能会涵盖以下内容: 1. *...
首先,书中介绍了网站设计的重要性,以"Deep Thoughts"博客网站为例,详细列出了该网站的功能需求,如按日期倒序排列的博客文章、按主题分类、内容检索、用户评论和RSS订阅等。这一步骤强调了在开发前明确网站功能和...
在这个"opencms 计数模块"中,我们关注的核心是系统如何跟踪并处理用户与内容的交互,如文章的点击数和文档的下载量。这些数据对于评估内容的受欢迎程度和网站性能至关重要。 首先,我们要理解计数模块的基本功能。...
### OpenCMS基础知识与应用 ...通过以上介绍,可以看出OpenCMS不仅具备强大的内容管理能力,还能通过扩展插件和自定义代码实现更多高级功能。对于初学者而言,掌握OpenCMS的基础操作和核心概念是非常重要的第一步。
- **安装OpenCms**: 将OpenCms部署到Tomcat中,初始化数据库。 - **安全设置**: 配置防火墙、更改默认密码等安全措施。 ##### 2.3 配置OpenCMS默认站点 - **过程**: - **安装Apache**: 作为Web服务器。 - **...
- **内容创建**:介绍如何使用 OpenCms 创建不同类型的内容,如文章、图片和视频等。 - **内容编辑与审核**:讨论内容编辑工具和工作流机制,以及如何进行内容审核。 - **版本控制**:讲解版本控制系统,帮助用户...
此外,"其他信息"的提及暗示模块可能还支持嵌入其他媒体类型,如视频、音频或文档,以实现多媒体内容的整合。 "开源软件"标签表明OpenCms Article Management Module 遵循开源许可,这意味着源代码对公众开放,允许...
开发者可以自定义Servlet来实现特定的业务逻辑,例如用户登录、文章发布等。 三、XML技术 XML(Extensible Markup Language)是一种用于标记数据的语言,它提供了一种结构化的方式来存储和交换数据。OpenCMS使用XML...