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

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二次开发

    opencms二次开发

    opencms9.0.1开发学习笔记资料

    第一次使用opencms9.0.1进行开发,记录下开发过程中所遇到的问题及解决方法。 主要实现内容如下: 1.去掉两个“opencms”,可作为独立应用发布。 2.二维码相关 3.发送邮件相关 4.完整的opencms开发过程。 特此记录,...

    opencms开发指南

    opencms开发指南

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

    最好的OpenCms7二次开发资料,相信对大家会有很大的帮助。内附书内相关源码。

    opencms

    opencms guide

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

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

    opencms环境搭建

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

    Opencms for eclipse 开发插件

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

    opencms 内容管理入门指南

    不错的opencms教程 详细描述OpenCMS部署、安装开发的方式具体模块的开发

    opencms9 java api

    opencms 中文网提供的java api 文档包

    OpenCms 内容类型模块

    Opencms 中文网原创,请下载支持,欢迎转发,请注明来源Opencms 中文网博客

    OpenCMS_7_开发

    OpenCMS_7_开发,开发的基本过程,module的建立,站点增加,功能扩展等。

    OpenCMS

    packt_用开源项目快速建站实践丛书

    OpenCms 8.0.2.zip

    OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它提供一个类似于我们熟知的office应用的所见即所得编辑...

    OpenCms 8.0.0 SRC.zip

    OpenCms是一个专业级别的开源网站内容管理系统。OpenCms可以非常容易的帮助建立和管理复杂的网站而无需专业的HTML知识。当使用一个复杂的模板引擎来规划站点,它提供一个类似于我们熟知的office应用的所见即所得编辑...

    opencms用户指南 + 源码

    opencms用户指南+源码 opencms用户指南+源码 opencms用户指南+源码

    OpenCms创建网站过程图解——献给OpenCms的初学者们

    OpenCms创建网站过程图解——献给OpenCms的初学者们,一起学习吧

    OpenCms 7.x和8.x 升级到 OpenCms 9.5.2

    Update your existing OpenCms installation to version 9.5.2 with the easy to use upgrade wizard. OpenCms 7.x 和8.x 升级到OpenCms 9.5.2版本安装向导。

    OpenCMS入门指南

    OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南OpenCMS入门指南

    Eclipse中引用opencms

    OpenCms是一个专业级、开源Java CMS(内容管理系统),由Alkacon公司发起和维护,OpenCms完全基于Java和XML技术实现,内容维护方便、直观,类型定义简单、快速,基于Jsp的模板机制强大、灵活,OpenCms扩展机制可以很好...

Global site tag (gtag.js) - Google Analytics