个人认为,openCms系统最强大的功能就是在线编辑功能,也就是模板开发,只要开发团队已经实现好模板布局和位置

布局,那么,即使是完全不懂代码的维护人员,只要赋予编辑权限,也可以轻松的更改网站的文字,图片,甚至是模板的位置

和布局。实现的原理简单来说是将文字,图片,链接等资源放入到XML文件中,因此通过,更改XML文件便可及时改变网站内容。

----------------------------------------------------------------------------------------------------------------------------------

一  设置内容元素的布局和操作流程如图所示

二 实现步骤

步骤一 首先打开模块功能,并在相应模块中添加资源文件,如图所示(注意标签的首字母要大写)

通过创建资源文件,openCms在模块的schemas目录自动生成具有Title,Text,images元素的XSD文件,并在

opencms-modules.xml文件中进行的XSD文件的配置工作,无需开发人员进行复杂的编辑和配置工作。其中标签和框架类

名称可相同,标志XML内容的根元素。XSD文件存放在schemas文件目录中,生成文件如图所示:

步骤二 创建内容元素

打开浏览功能,可以找到你之前创建的站点目录,在根目录中标志位网站地图内容文件夹的目录.content,此文件夹专门用

来存放xml文件,建立新建文件,可以在内容文件中看到开发人员之前创建的XSD文件,如图所示:

之前创建的目录文件名称为ResourceDemo, 然后编辑xml文件,如图所示,内容包括创建XSD文件时的代码中包括的Title,

Text,Image,link等内容。到此,XML资源文件的创建工作已经结束。如果想要用到自己创建的XML文件,在站点目录打开

页面容器,显示要使用xml文件的网站,在编辑功能中点击新建文件,出现之前创建的xml文件。

将xml文件拖入页面,点击右上角的圆标,可进行模块的编辑,替换和拖动工作。

步骤三:更改模板的布局格式

打开formatters文件目录,会有两个和创建的内容元素命名相关的JSP文件和XML文件,如:ResourceDemo-formatter.jsp

和ResourceDemo-formatter-config.xml文件。而与之相关的内容元素布局便是通过JSP文件ResourceDemo-formatter.jsp

来实现布局。代码如下

<%@page buffer="none" session="false" trimDirectiveWhitespaces="true"%>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<cms:formatter var="content">
<div style="width:260px;height:230px;text-align:center;margin:auto;margin-top:10px">
<c:if test="${content.value.Image.exists}">
<cms:img src="${content.value.Image}" scaleColor="transparent" width="80" scaleType="0" noDim="true" cssclass="img-responsive" />
</c:if>

<p style="font-size:15px;font-weight:800;">${content.value.Title}</p>
<div style="width:260px;height:45px;text-align:center;margin:auto;color:#999999">
<p style="font-size:12px">${content.value.Text}</p>
</div>
<c:if test="${content.value.Link.exists}">
<input type="button" style="width:100px;height:30px;border-radius:8px" value="查看详情" οnclick="window.location.href='..${content.value.Link}'"/>
</c:if>
</div>
</cms:formatter>

end

菜鸟日记(yzy):opencMS系统-XML内容管理文件开发相关推荐

  1. Mac系统通过标签管理文件

    Mac系统通过标签管理文件 管理标签 打开 Finder 访达–>偏好设置(⌘+,)–>标签 可自由增减.命名.排序标签 建议分类: 重要.紧急 个人.工作 ToDo - Doing - ...

  2. 开发标准化软件组件能让程序员在大城市过上体面的生活 -- 多系统用户权限管理标准件开发销售心得体会...

    其实很多人都有顾虑,选择程序员这个行业是否有前途?是否可以长久?我是78年出生的,现在算算已经35岁了,虽然在同学里算不上最成功的,但是也足够不是最差的.生活中该有的都有了,虽然身体没往日那么强壮,但 ...

  3. .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程

    写在前面 上一篇文章.NET Core实战项目之CMS 第七章 设计篇-用户权限极简设计全过程中我带着大家进行了权限部分的极简设计,也仅仅是一个基本的权限设计.不过你完全可以基于这套权限系统设计你的更 ...

  4. 企业内容管理(ECM)市场 谁执牛耳?

    2008-09-17 15:39 根据Forrester Research的相关调查显示:全球企业的信息内容量在以平均每年200%的速度增长.以"萨班斯法案"为代表的法规遵从对企业 ...

  5. 企业内容管理技术与应用,第 1 章

    在理解企业内容管理之前,需要先了解企业内容的类型.范畴和生命周期. 企业信息包括结构化和非结构化信息,结构化信息的管理可以利用数据库技术进行,而非结构化信息的管理则需要利用企业内容管理技术来实现. 1 ...

  6. CRM客户管理软件开发功能有哪些?

    互联网技术的不断提高使得企业管理方式也发生了变化,企业CRM系统应用市场逐渐扩大,相关软件开发也引起越来越多商家企业的关注.因为企业CRM系统软件开发能够根据企业需求制作,帮助企业更好的追踪管理客户信 ...

  7. Axure通用版电商后台管理系统+通用版移动端商城商户端+电商管理系统+对账管理+消息管理+内容管理+运营管理、会员管理、订单管理、促销管理、财务管理+通用版商城前后端电商系统+电商用户数据大屏看板

    作品介绍:Axure通用版电商后台管理系统+通用版移动端商城商户端+电商管理系统+对账管理+消息管理+内容管理+运营管理.会员管理.订单管理.促销管理.财务管理+通用版商城前后端电商系统+电商用户数据 ...

  8. 智慧、智能图书馆管理平台系统+web端业务数据管理平台+Axure通用web端高保真交互业务数据管理平台+铭牌管理+设备监控+系统管理+内容管理+机构列表管理+用户权限管理+专题管理+服务包管理

    作品介绍:智慧.智能图书馆管理平台系统+web端业务数据管理平台+Axure通用web端高保真交互业务数据管理平台+铭牌管理+设备监控+系统管理+内容管理+机构列表管理+用户权限管理+专题管理+服务包 ...

  9. springBoot+thymeleaf框架实现cms内容管理和商城系统

    springBoot+thymeleaf框架实现cms内容管理和商城系统 概要介绍 基于开源框架springBoot2.3+thymeleaf+springSecurity+lucene8.5.2 是 ...

  10. [附源码]Java计算机毕业设计SSM菜鸟驿站快递分发系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

最新文章

  1. Java多线程协作CountDownLatch,主线程等待子线程结束
  2. 一个可以直接使用的可用iptables配置的stateless NAT实现
  3. vue 禁止显示本网页由、、_【VUE/JS】vue和js禁止浏览器页面后退
  4. 转:“401 - 未授权:由于凭据无效,访问被拒绝”在iis的解决办法
  5. JQUERY —— 元素及表单操作
  6. 使用CuteFTP登陆FTP(serv-U)服务器后无法LIST目录和文件的解决方法
  7. 手动编译 lombok_Lombok,一种编译时Java注释预处理器,可最大程度地减少代码大小...
  8. 在 Pycharm下使Python2和Python3共用Anaconda中的各种库/包的解决方法
  9. (转)open gl 实例 demo ---vs2005 环境
  10. 引导页设计没有灵感,看这里!
  11. [HNOI2008]水平可见直线 半平面交
  12. shell--4、Shell 数组
  13. paip.提升用户体验----解决浏览器关闭后自动退出的问题
  14. ajax异步数据加载
  15. H264编码器与H265编码器对比
  16. 两军问题和拜占庭将军问题的区块链解读(一)
  17. 喝酒神器摇骰子小程序源码分享以及搭建效果图
  18. 计算机运行快是取决什么,电脑速度快慢取决哪个硬件
  19. Reasoning-RCNN 论文笔记
  20. Practical Machine Learning with H2O.2016.12

热门文章

  1. PHP微信公众号开发
  2. 存储系统结构、MDR、MBR、扇区
  3. HD1096 between “ 之间” 的含义
  4. 居于canvas的原生js抽奖小程序
  5. 电视家海信html安装不了,海信电视怎么看电视直播,安装电视家3.0解决方法
  6. 做计算机用英语怎么读,计算机英语怎么读
  7. 人脸检测——基于face_recognition库
  8. Windows 10 21H1 官方正式版下载
  9. I2S UDAl1380
  10. UvaLive 4670 Dominating Patterns