0

在我的 openCMS 项目中,内容文件夹按年份命名:

  • 2010
  • 2011
  • 2012
  • 2013

我用

CmsJspNavBuilder navigation = a_cms.getNavigation();
List navItems = navigation.getSiteNavigation(a_rootFolder,99);

创建所有这些文件夹的列表。如何逐项打印整个列表?

谢谢!

4

1 回答 1

0

我建议使用 taglibs 而不是 java 代码,它更干净。在那里查看示例:

http://www.opencms-wiki.org/wiki/The_OpenCms_8_Demo_Template_Modules_in_Detail#Navigation_tag

 <cms:navigation type="forFolder" startLevel="0" endLevel="1" var="nav"/>
   <c:forEach items="${nav.items}" var="elem">
     <c:set var="currentLevel" value="${elem.navTreeLevel}" />
     […]
     <a href="<cms:link>${elem.resourceName}</cms:link>">
       ${elem.navText}
     </a>
   </c:forEach>
 </cms:navigation>

来自维基:

该标签提供对导航信息的访问。该标记在 /WEB-INF/opencms.tld OpenCms 标记库描述符 (TLD) 中进行了描述。Web 容器(例如 Tomcat)使用 TLD 来验证标签。opencms.tld 描述了自定义 OpenCms 标记库。

导航标签有六个属性:

  • 变量(必填)
  • type(required) 可以设置为treeForFolder、forFolder、forSite、forResource、breadCrumb
  • startLevel(可选)读取资源或文件夹上的属性“NavStartLevel”
  • endLevel(可选)
  • 资源
  • 参数(可选)。

在 JSP 中使用导航标记会调用核心方法 org.opencms.jsp.CmsJspTagNavigation,该方法用于通过 EL 访问 JSP 上的 OpenCms VFS 导航信息。

于 2013-02-21T07:45:36.127 回答