`
lan13217
  • 浏览: 496429 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

opencms取得全站一二级导航

    博客分类:
  • cms
阅读更多
RIA知识库
flex
RIA
取得当前位置导航和下一级导航
<%@ page import="java.util.*,org.opencms.jsp.*,org.opencms.file.CmsResource.*,org.opencms.frontend.templateone.*" %>   
<%   
// Create a JSP action element   
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);   
// Some shortcuts to often used Strings   
String filename = cms.getCmsObject().getRequestContext().getUri();   
String foldername=org.opencms.file.CmsResource.getFolderPath(filename);   
String foldericon=cms.link("system/modules/com.alkacon.documentation/resources/ic_folder.gif");   
String fileicon=cms.link("system/modules/com.alkacon.documentation/resources/ic_file.gif");   
  
// List of all pages / subfolders (sorted by NavPos property)   
List list = cms.getNavigation().getNavigationForFolder();   
Iterator i = list.iterator();   
// Now build the navigation   
out.println("<div id=\"dhtmlgoodies_slidedown_menu\"><ul>");   
while (i.hasNext()) {   
    CmsJspNavElement ne = (CmsJspNavElement)i.next();   
      
    String target=ne.getProperty("target");   
    if(target==null)   
        target="_self";   
    if (ne.getResourceName().equals(filename)) {   
       out.println("<b>");   
       out.println(ne.getNavText()+"</b>");   
    }    
    else {    
        out.println("<li><a href=\"" + cms.link(ne.getResourceName()) + "\"target=\""+"\">" + ne.getNavText() + "</a></li>");   
        if(ne.isFolderLink()){   
           List subnav = cms.getNavigation().getSiteNavigation(ne.getResourceName(),-1);   
           Iterator j = subnav.iterator();   
           out.println("<ul>");   
           while (j.hasNext()) {   
                CmsJspNavElement ne2 = (CmsJspNavElement)j.next();   
                if (!ne2.getResourceName().equals(filename)) {   
                   out.println("<li><a href=\"" + cms.link(ne2.getResourceName()) + "\"target=\""+"\">" + ne2.getNavText() + "</a></li>");    
                }   
                else {   
                      out.println("<b>");   
                      out.println(ne2.getNavText()+"</b>");   
                }   
            }   
         out.println("</ul>");   
         }    
    }    
}   
    out.println("</ul></div>");   
%>  


--------------------------------------------------------------------------------
取得全站一二级导航
<%@ page import="java.util.*,org.opencms.jsp.*,org.opencms.file.CmsResource.*,org.opencms.frontend.templateone.*" %>   
<%   
// Create a JSP action element   
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);   
// Some shortcuts to often used Strings   
String filename = cms.getCmsObject().getRequestContext().getUri();   
String foldername=org.opencms.file.CmsResource.getFolderPath(filename);   
String foldericon=cms.link("system/modules/com.alkacon.documentation/resources/ic_folder.gif");   
String fileicon=cms.link("system/modules/com.alkacon.documentation/resources/ic_file.gif");   
  
// List of all pages / subfolders (sorted by NavPos property)   
List list = cms.getNavigation().getNavigationForFolder("/");   
Iterator i = list.iterator();   
// Now build the navigation   
out.println("<div id=\"dhtmlgoodies_slidedown_menu\"><ul>");   
while (i.hasNext()) {   
    CmsJspNavElement ne = (CmsJspNavElement)i.next();   
      
    String target=ne.getProperty("target");   
    if(target==null)   
        target="_self";   
    if (ne.getResourceName().equals(filename)) {   
       out.println("<b>");   
       out.println(ne.getNavText()+"</b>");   
    }    
    else {    
        out.println("<li><a href=\"" + cms.link(ne.getResourceName()) + "\"target=\""+"\">" + ne.getNavText() + "</a></li>");   
        if(ne.isFolderLink()){   
           List subnav = cms.getNavigation().getSiteNavigation(ne.getResourceName(),-1);   
           Iterator j = subnav.iterator();   
           out.println("<ul>");   
           while (j.hasNext()) {   
                CmsJspNavElement ne2 = (CmsJspNavElement)j.next();   
                if (!ne2.getResourceName().equals(filename)) {   
                   out.println("<li><a href=\"" + cms.link(ne2.getResourceName()) + "\"target=\""+"\">" + ne2.getNavText() + "</a></li>");    
                }   
                else {   
                      out.println("<b>");   
                      out.println(ne2.getNavText()+"</b>");   
                }   
            }   
         out.println("</ul>");   
         }    
    }    
}   
    out.println("</ul></div>");   
%>  

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

取得当前文件 title导航
<%@page session="false" import="org.opencms.frontend.templatetwo.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms"%><% 

    // This element defines breadcrumb navigation.
    //
	// It uses the CmsTemplateMenu class to provide some auxiliary methods
	// in order to prevent the use of scriplet code in this jsp.
	// For details on the CmsTemplateMenu class, see the source code which can
	// be found at the followinf VFS location:
	// /system/modules/org.opencms.frontend.templatetwo/java_src/CmsTemplateMenu.java

	CmsTemplateMenu cms = new CmsTemplateMenu(pageContext, request, response);
	pageContext.setAttribute("cms", cms);
	pageContext.setAttribute("navList", cms.getNavigation().getNavigationBreadCrumb(1, true));
%>

<c:set var="first" value="true" />
<c:forEach items="${navList}" var="elem" >
	<c:if test="${!empty cms.navText[elem]}">
		<c:if test="${!first}">&nbsp;»&nbsp;</c:if>
		<a href="<cms:link>${elem.resourceName}</cms:link>">${cms.navText[elem]}</a>
		<c:set var="first" value="false" />
	</c:if>
</c:forEach>

<c:if test="${!cms.isDefault || first}">
	<c:set var="navText"><cms:property name="NavText" /></c:set>
	<c:if test="${empty navText}">
		<c:set var="navText"><cms:property name="Title" /></c:set>
	</c:if>
	<c:if test="${!empty navText}">
		<c:if test="${!first}">
			&nbsp;»&nbsp;
		</c:if>
		<c:out value="${navText}" />
	</c:if>
</c:if>

================================================================================
取得当前导航的二级导航列表
<%@page session="false" import="org.opencms.frontend.templatetwo.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms"%><%

	// This element defines the left navigation element.
	// It uses the CmsTemplateMenu class to provide some auxiliary methods
	// in order to prevent the use of scriplet code in this jsp.
	// For details on the CmsTemplateMenu class, see the source code which can
	// be found at the following VFS location:
	// /system/modules/org.opencms.frontend.templatetwo/java_src/CmsTemplateMenu.java

	CmsTemplateMenu cms = new CmsTemplateMenu(pageContext, request, response);
	cms.setElements(cms.getNavigation().getNavigationTreeForFolder(cms.getRequestContext().getUri(), 1, 3));
	pageContext.setAttribute("cms", cms);
%>

<div id="nav_left">
	<ul>
		<c:set var="oldLevel" value="" />
		<c:forEach items="${cms.elements}" var="elem">
			<c:set var="currentLevel" value="${elem.navTreeLevel}" />
			
			<c:choose>
				<c:when test="${empty oldLevel}"></c:when>
				<c:when test="${currentLevel > oldLevel}"><ul></c:when>
				<c:when test="${currentLevel == oldLevel}"></li></c:when>
				<c:when test="${oldLevel > currentLevel}">
					<c:forEach begin="${currentLevel+1}" end="${oldLevel}"></li></ul></c:forEach>
				</c:when>
			</c:choose>
			
			<li><a href="<cms:link>${elem.resourceName}</cms:link>" <c:if test="${cms.isCurrent[elem]}">class="current"</c:if>>${elem.navText}</a>
			
			<c:set var="oldLevel" value="${currentLevel}" />
		</c:forEach>
		
		<c:forEach begin="${cms.topLevel+1}" end="${oldLevel}"></li></ul></c:forEach>
	</ul>
</div>


分享到:
评论

相关推荐

    OpenCMS

    OpenCMS是一款功能强大的开源内容管理系统(Content Management System, CMS),它主要用于构建、管理和维护企业级网站。该系统支持多语言、多用户和多站点管理,适用于各种规模的企业和个人用户。OpenCMS的核心优势...

    opencms

    OpenCms是一款开源的内容管理系统,旨在为企业级网站提供高效、灵活的管理解决方案。由Alkacon Software开发,OpenCms支持多语言、多站点管理和内容版本控制等功能,是构建大型网站的理想选择。本书《OpenCms7 ...

    opencms建站手册

    Opencms建站手册是专为开发者和网站管理员设计的一份详细指南,旨在提供关于如何使用Opencms进行内容管理系统(CMS)开发的信息。本文将深入解析Opencms的介绍、环境搭建、常用API和标签的使用,帮助你更好地理解和...

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

    《OpenCms 7 Development》是一本专注于OpenCms二次开发的专业资料,它为开发者提供了深入理解OpenCms系统架构和进行高效定制化的关键指导。OpenCms是一款开源的内容管理系统,广泛应用于企业网站、新闻门户和其他...

    opencms二次开发

    OpenCMS 是一个开源的内容管理系统(CMS),用于构建和管理企业级的网站。它基于Java技术栈,提供了一套全面的功能,包括内容创建、版本控制、工作流管理、多语言支持等。二次开发是指对OpenCMS的原始代码进行修改或...

    opencms9 java api

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

    OpenCms中文文档完整版

    OpenCms是一款强大的开源内容管理系统(CMS),专为构建和管理网站而设计。这款系统以其易用性、灵活性和可扩展性赢得了用户的喜爱。本文将深入解析OpenCms的中文文档,帮助用户快速掌握该系统的各项功能和操作。 ...

    opencms建站指南

    这个建站指南将深入探讨如何构建CMS环境,以及如何使用OpenCms建立一个功能完备的网站。 首先,要搭建OpenCms的运行环境,你需要准备以下组件: 1. **Java运行环境 (JRE)**:OpenCms基于Java技术,因此需要安装JRE...

    Opencms的建站使用

    【Opencms建站使用详解】 Opencms是一款基于JAVA EE平台的开源内容管理系统(CMS),它被广泛用于快速高效地构建和管理网站。这款工具以其强大的功能和灵活性,为组织和个人提供了创建、编辑和发布内容的有效途径。...

    Eclipse中引用opencms

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

    opencms教程.rar

    OpenCMS(开源内容管理系统)是一款基于Java技术的开源Web内容管理系统,广泛应用于企业级网站建设和管理。本教程“opencms教程.rar”旨在帮助用户掌握OpenCMS的基本操作和高级功能,以便有效地创建、管理和维护网站...

    opencms 9.0.1 汉化包

    OpenCMS 是一个开源的内容管理系统(CMS),用于构建和管理企业级的网站。版本 9.0.1 是 OpenCMS 的一个重要里程碑,它提供了一系列的功能改进和优化。汉化包则是针对非英语用户群体,将软件界面及文档翻译成中文,...

    Alkacon_OpenCms_Products_and_Services.pdf

    Alkacon OpenCms Premium Support 为客户提供了一整套全方位的技术支持服务。这项服务包括但不限于:24/7 技术支持、优先响应时间、定制化培训以及专门的技术顾问等。对于那些依赖 OpenCms 关键业务流程的企业来说,...

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

    ### OpenCms创建网站过程...以上就是使用OpenCms创建简单网站的全过程。需要注意的是,这只是OpenCms功能的冰山一角,要完全掌握并灵活运用OpenCms的强大功能,还需深入学习和实践。希望本文能为初学者提供一定的帮助。

    OpenCms 内容类型模块

    OpenCms 是一款开源的内容管理系统(CMS),专为创建、管理和发布数字内容而设计。它提供了丰富的功能,包括模板驱动的网站生成、基于角色的安全控制、工作流程支持以及多语言支持。OpenCms 内容类型模块是系统的...

    opencms配置去掉2个opencms总结

    标题中的“opencms配置去掉2个opencms”指的是在OpenCms系统中,可能有用户想要移除或禁用两个特定的OpenCms组件或功能,可能是出于优化性能、减少冗余或者简化系统的考虑。OpenCms是一款开源的内容管理系统,它允许...

    OpenCms9.0.1 新鲜下载

    OpenCms是一款开源的内容管理系统(CMS),主要用于构建和管理企业级的网站。它的全称是Open Content Management System,强调开放源代码和灵活的内容管理。在本文中,我们将深入探讨OpenCms 9.0.1版本及其特点。 ...

    opencms 内容管理入门指南

    - **下载OpenCMS**:从官方网站或其他可信源获取最新版本的OpenCMS源码或二进制包。 - **数据库准备**:根据你的需求选择合适的数据库,并创建OpenCMS所需的数据库和用户。 - **解压部署**:将下载的OpenCMS文件解压...

Global site tag (gtag.js) - Google Analytics