`
bibiye
  • 浏览: 171134 次
社区版块
存档分类
最新评论

opencms开发常见问题,欢迎大家补充

阅读更多

1 : <cms:user> user 标签提供了读当前用户的属性的方法

2 : <cms:property> 读取当前文件的属性

3 : <cms:link> 该标签为一个 VFS 资源生成有效的 OpenCms URL

4 : <cms:label> 读取 OpenCms 本地化属性文件中的字符串(仅当需扩展 OpenCms 工作区时使用)

5 : <cms:include> 用于运行中从 OpenCms VFS 动态包含文件,包含的文件被当成一个请求的附加参数。

6 : <cms:template> template 标签允许您把一个 JSP 页面分割成多个元素,以便使用 <cms:include> 引入。

7 : <cms:contentcheck> 检查 XML 内容的项目是否存在

8 : <cms:contentloop> 该标签用来循环取出 XML 内容列的全部元素

9 : <cms:contentshow> 该标签用于显示 XML 内容的列的值

10 : <cms:contentload> 载入一个 XML 内容资源的 collection ,根据给定的 collector 属性,确定是单个资源还是资源列表

11 : <cms:info> info 标签显示系统的运行信息以及底层支撑的

Java/Servlet/OS

环境信息。这个标签是通过标准的

System.getProperty(value)

来获得 Java 虚拟机信息的。如果给出的 property 的值没有对应的键值时,会返回错误信息。
二、一些问题

1. 路径问题: 代码:
<cms:contentload collector="allInFolderDateReleasedDesc" param="TEEMA_Ad/Home/Banner_Text/|teemaAd" editable="true">

如果在OPENCMS后台打开JSP页面时,该param下内容无法显示,须另开窗口,对应URL才可显示。

 

2.如何显示目录下的内容。

<% if  (getResourceCount(__cms,  " TEEMA_Ad/Home/Wide_Block_1/|teemaAd " ,  false )  >   0 ) {  %>  
   

< cms:contentload collector = " allInFolderDateReleasedDesc "  param = " TEEMA_Ad/Home/Wide_Block_1/|teemaAd " 
editable = " true " > 

  < img src = " /eeonline/cms<cms:contentshow element= " Image / Image " /> "  width = " 440 "  height = " 75 " > 

            <%    }  %> 

                   </ cms:contentload > 

<% 

    }

%>  

 

3 .创建文件类别 在opencms-modules.xml中:

< explorertype name = " teemaNews "  key = " fileicon.teemaNews "  icon = " article.gif "  reference = " xmlcontent " > 

< newresource page = " structurecontent "  uri = " newresource_xmlcontent.jsp?newresourcetype=teemaNews "  order = " 4 "
 autosetnavigation = " false "  autosettitle = " false " /> 

< accesscontrol > 
< accessentry principal = " GROUP.Administrators "  permissions = " +r+v+w+c " /> 

< accessentry principal = " GROUP.Projectmanagers "  permissions = " +r+v+w+c " /> 

< accessentry principal = " GROUP.Users "  permissions = " +r+v+w+c " /> 

</ accesscontrol > 

</ explorertype > 

=============================================== 

< type  class = " org.opencms.file.types.CmsResourceTypeXmlContent "  name = " teemaNews "  id = " 1003 " > 

< properties > 
< property > 
< name > content - conversion </ name > 
< value type = " shared " ><! [CDATA[cleanup;xhtml]] ></ value > 
</ property > 
< property > 
< name > template - elements </ name > 
< value type = " shared " ><! [CDATA[ / system / modules / com.teema.eeonline / pages / detail - news.html]] ></ value > 
  </ property > 
  </ properties > 
< param name = " schema " >/ system / modules / com.teema.eeonline / schemas / teemaNews.xsd </ param > 
</ type > 

 

在后台schemas中,新建文件,类别为xsd,然后eidt source。代码请参考相关文件。

4 .模板文件的使用     选择文件,右键属性->高级


然后在template中输入对应的模板路径。


本工程的模板目录路径为上图所示,每个模板的功能,都有相应的说明。

5 . 文件包含与变量问题

a) 不能在包含的js文件里,引用父JSP文件的变量。

b) 最好不要用 <jsp include 来包含文件而采用<%@ include file,否则如果模板文件没有发布,无法识别其改动。

6. 关于文件发布

   a) 同步后,要进行发布,更改后的文件才能生效。

b) 个别文件的改动发布,如果改动到模块文件所包含的文件,发布时,不能只发布包含文件 ,而模板文件也要改动再发布。

7 .关于 ContentLoad Tag 中的变量
    
1) go to WEB-INF/opencms.tld and add  <rtexprvalue>true</rtexprvalue>
2) Alternatively you could put the value into the pageContext  (<c:set var="file">/sites/default/xyz.html</c:set>) 
and then use a macro "<cms:contentload...param="${pageContext.file}">..." .

8 . Accessing files with a new CmsObject instance  
import org.opencms.file.CmsObject;
import org.opencms.file.CmsProject;
import org.opencms.main.CmsException;
import org.opencms.main.OpenCms;

// ...

cmsObject = OpenCms.initCmsObject( "Guest" );
cmsObject.loginUser( "Admin", "admin" );
           
CmsProject cmsProject = cmsObject.readProject( "Offline" );
cmsObject.getRequestContext().setCurrentProject( cmsProject );
           
cmsObject.getRequestContext().setSiteRoot( "/" );
    
      
9. 后台页面form文本域的提交,所在的类CmsToolManager.initParams(CmsToolDialog wp)  

分享到:
评论

相关推荐

    opencms二次开发

    1. **Java编程基础**:OpenCMS是用Java开发的,因此二次开发需要具备扎实的Java基础,包括面向对象设计、异常处理、集合框架等。 2. **JSP与Servlet**:OpenCMS使用JSP(JavaServer Pages)作为视图层,Servlet作为...

    OpenCms 7 Development(最好的OpenCms二次开发资料)

    7. **部署与维护**:书中还将涉及OpenCms的安装、升级和备份策略,以及如何处理常见问题和故障排查。 总之,《OpenCms 7 Development》是OpenCms开发者必备的参考资料,无论你是初学者还是有经验的开发者,都能从中...

    opencms9.0.1开发学习笔记资料

    本开发学习笔记旨在记录在使用该版本时遇到的问题及其解决方案,帮助开发者更好地理解和掌握 Opencms 的核心功能。 1. **Opencms 介绍和环境搭建** - **简介**:Opencms 是一个基于 Java 技术的 CMS 平台,它提供...

    opencms

    《OpenCms开发指南》:深入理解与定制OpenCms OpenCms是一款开源的内容管理系统,旨在为企业级网站提供高效、灵活的管理解决方案。由Alkacon Software开发,OpenCms支持多语言、多站点管理和内容版本控制等功能,是...

    OpenCms之工程实践的相关补充

    《OpenCms工程实践的相关补充》 OpenCms是一款开源的内容管理系统,以其强大的功能和灵活的架构在IT行业中被广泛应用。本文将深入探讨OpenCms的工程实践,为开发者提供更多的实用技巧和经验分享。 首先,理解...

    OpenCMS

    - **案例研究**:通过实际案例分析,展示如何运用OpenCMS解决特定问题和实现特定目标。 #### 五、作者背景与贡献 Matt Butcher是一位资深的技术顾问,专注于开源软件领域。他在多个开源社区中活跃,包括OpenCMS、...

    opencms开发指南

    ### OpenCMS开发指南 #### 一、OpenCMS简介 OpenCMS 是一款开源的内容管理系统,主要用于构建和管理企业级网站。它基于Java技术,支持多种数据库,并提供了丰富的功能来帮助开发者快速搭建复杂的Web应用。 #### ...

    OpenCms中文文档完整版

    8. **故障排查与维护**:最后,文档还会介绍常见问题的解决方案,以及如何进行日志分析和系统维护,确保OpenCms的稳定运行。 通过阅读"OpenCms中文文档完整版",无论是网站管理员、设计师还是开发者,都能获得全面...

    opencms9 java api

    OpenCMS 是一个开源的内容管理系统(CMS),主要由Java语言开发,专为构建企业级网站提供了一个强大而灵活的平台。其Java API 提供了丰富的功能,使得开发者可以通过编程方式与OpenCMS系统进行交互,实现内容的创建...

    OpenCMS开发Eclipse插件(新增支持OpenCMS7.5)

    对插件info.rsdev.eclipse.opencms.module.developer进行了功能增强,实现了按选择了项目/目录/文件进行上传;不上传传"."/"test"开头的内容;增加只对classes目录的上传\发布,本版新增支持OpenCMS7.5以上版本

    opencms环境搭建

    opencms开发、及二次开发环境的搭建。

    OpenCms中文用户手册

    9. **故障排查与日志分析**:最后,手册通常会包含一些常见问题的解决方法,以及如何解读和分析OpenCms的日志文件,以帮助用户快速定位并解决问题。 通过深入阅读OpenCms中文用户手册,无论是新手还是经验丰富的...

    Opencms for eclipse 开发插件

    对插件info.rsdev.eclipse.opencms.module.developer进行了功能增强,实现了按选择了项目/目录/文件进行上传;不上传传"."/"test"开头的内容;增加只对classes目录的上传\发布

    opencms教程.rar

    2. **安装与配置**:详细讲解如何在本地或服务器上安装OpenCMS,包括系统需求、环境配置(如JDK、Tomcat)、数据库连接设置(如MySQL)以及安装过程中的常见问题解决。 3. **工作台界面**:介绍OpenCMS的工作台界面...

    opencms 内容管理入门指南

    为了进行OpenCMS的开发,你需要集成开发环境(IDE),如Eclipse或IntelliJ IDEA,安装必要的插件,例如Maven或Gradle来管理项目依赖。此外,熟悉Ant或Maven构建工具对于构建和部署OpenCMS项目也十分关键。 ### 4. ...

    opencms中文用户手册

    7. **模块开发**:对于开发者,会提供关于如何扩展OpenCMS功能,开发自定义模块的信息。 8. **搜索引擎优化(SEO)**:指导用户如何优化内容以提高搜索引擎排名。 9. **安全与备份**:提供关于保护网站免受攻击的...

    OpenCms7Development+src

    OpenCms7Development+src是关于OpenCms 7版本的深度学习和二次开发资源集合。OpenCms(Open Content Management System)是一个开源的内容管理系统,它允许用户通过Web界面管理网站内容,支持多种编程语言和数据库,...

    Alkacon_OpenCms_Products_and_Services.pdf

    Alkacon OCEE 的设计考虑了广泛的兼容性问题,确保它可以无缝集成到现有的 OpenCms 安装中。无论是 OpenCms 6 还是 7 版本,OCEE 都提供了相应的扩展支持,使得用户无需担心版本更新所带来的兼容性风险。此外,OCEE ...

    opencms源码

    这个源码包“opencms-10.0.1”提供了完整的开发环境,允许开发者深入理解其内部工作原理,并对其进行自定义和扩展。下面我们将详细探讨OpenCms的相关知识点。 1. **OpenCms概述** OpenCms是一个基于Java和J2EE技术...

Global site tag (gtag.js) - Google Analytics