posts - 61,  comments - 2033,  trackbacks - 0

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)  

posted on 2006-08-08 15:07 鱼上游 阅读(7643) 评论(9)  编辑  收藏 所属分类: 爪哇世界探险


FeedBack:
# re: opencms开发常见问题,欢迎大家补充
2006-08-11 09:31 | like
我觉得opencms不太好用. 国外的思想和咱们不太一样. 国内的cms4j感觉还可以,就是现在文档不太齐全. 网址应该是 http://www.cms4j.com  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2006-09-01 13:16 | 孟厚
cms4j不是开源,要收费的。胡子鱼,能搞到opencms里面的macro资料么?前段时间看一个分页,用来很多macro,就是不知道什么意思,opencms文档里面macro的介绍几乎没有。  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2006-10-20 13:41 | qq
胡子鱼,要建一个下载的链接怎么弄呀,教教我吧  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2007-01-10 15:12 | yy[匿名]
登陆opencms后,创建新的工程时,创建页面中怎么看不到folders 和channels字段呢。是什么原因呢?谢谢!  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2007-02-13 12:26 | maxuan
欢迎大家访问http://www.opencms.cn  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2007-09-11 08:51 | aaaaaaa
BS cms4j,到处放广告,要么你就开源,还收费那么贵,你有动易的功能强么?有淘特的性能和安全性强吗?有风讯的灵活度吗?有.....

只有那么一个案例,还不是全生成静态。唉。现在的开发人哪,吹的技术用到技术上就好了。  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2008-01-25 08:28 | 2007
BS cms4j,到处放广告,要么你就开源,还收费那么贵,你有动易的功能强么?有淘特的性能和安全性强吗?有风讯的灵活度吗?有.....

只有那么一个案例,还不是全生成静态。唉。现在的开发人哪,吹的技术用到技术上就好了

赞成!  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充
2009-01-18 10:31 | ddd
org.opencms.main.CmsInitException: Critical error during OpenCms initialization: Unable to initialize OpenCms core managers.
org.opencms.main.OpenCmsCore.getInstance(OpenCmsCore.java:290)
org.opencms.main.OpenCmsServlet.doGet(OpenCmsServlet.java:127)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

  回复  更多评论
  
# re: opencms开发常见问题,欢迎大家补充[未登录]
2014-10-21 15:50 | zhang
网站在运行一段时间和自动就加锁,并且是发布状态,点击就出错  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(82)

随笔分类(59)

文章分类(21)

相册

收藏夹(40)

GoodSites

搜索

  •  

积分与排名

  • 积分 - 1263733
  • 排名 - 22

最新评论

阅读排行榜