Creating Navigation
From OpenCms Wiki
(Difference between revisions)
(added "navigation in current folder" section) |
Marc Johnen (Talk | contribs) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
<code lang="Java"> | <code lang="Java"> | ||
− | + | CmsJspActionElement element = new CmsJspActionElement(pageContext, request, response); | |
− | + | List breadcrumbParts = element.getNavigation().getNavigationBreadCrumb(); | |
− | + | String path = ""; | |
− | + | for(Iterator i = breadcrumbParts.iterator(); i.hasNext(); ) { | |
− | + | CmsJspNavElement el = (CmsJspNavElement)i.next(); | |
− | + | path += el.getFileName(); | |
− | + | if(el.isInNavigation()) out.print("<a href=\"" + path + "\">" + el.getNavText() +"</a> > "); | |
− | + | } | |
− | + | ||
</code> | </code> | ||
Line 31: | Line 30: | ||
CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response); | CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response); | ||
List list = cms.getNavigation().getNavigationForFolder(); | List list = cms.getNavigation().getNavigationForFolder(); | ||
− | Iterator i = list.iterator(); | + | for (Iterator i = list.iterator(); i.hasNext(); ) { |
− | + | ||
org.opencms.jsp.CmsJspNavElement ne = (org.opencms.jsp.CmsJspNavElement)i.next(); | org.opencms.jsp.CmsJspNavElement ne = (org.opencms.jsp.CmsJspNavElement)i.next(); | ||
out.println("<li><a href=\"" + cms.link(ne.getResourceName()) + "\">"); | out.println("<li><a href=\"" + cms.link(ne.getResourceName()) + "\">"); | ||
Line 40: | Line 38: | ||
</ul> | </ul> | ||
</code> | </code> | ||
+ | |||
+ | == Module Simple Navigation == | ||
+ | A module which contains some JSP tags to create navigations. It was developed 5 years ago but still works. The documenation is there in docbook. | ||
+ | [https://bitbucket.org/shimberger/opencms-simplenav] | ||
+ | |||
+ | |||
+ | [[Category:Developing in OpenCms]] |
Latest revision as of 13:22, 6 March 2013
Most people use CmsJspNavBuilder to create navigation menus on the fly.
Breadcrumbs
Breadcrumbs are a trail of links that indicate where you are in the hierarchy. They look like: Home >> About >> Staff
So you would know you were in the about section, looking at staff pictures.
You can create them using the CmsJspNavBuilder. Here is an example:
CmsJspActionElement element = new CmsJspActionElement(pageContext, request, response); List breadcrumbParts = element.getNavigation().getNavigationBreadCrumb(); String path = ""; for(Iterator i = breadcrumbParts.iterator(); i.hasNext(); ) { CmsJspNavElement el = (CmsJspNavElement)i.next(); path += el.getFileName(); if(el.isInNavigation()) out.print("<a href=\"" + path + "\">" + el.getNavText() +"</a> > "); }
To get a list of the items that are available in the current folder, you use the getNavigationForFolder method:
<%@ page import="java.util.*, org.opencms.jsp.*" %> <ul> <% CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response); List list = cms.getNavigation().getNavigationForFolder(); for (Iterator i = list.iterator(); i.hasNext(); ) { org.opencms.jsp.CmsJspNavElement ne = (org.opencms.jsp.CmsJspNavElement)i.next(); out.println("<li><a href=\"" + cms.link(ne.getResourceName()) + "\">"); out.println(ne.getNavText() + "</a></li>"); } %> </ul>
A module which contains some JSP tags to create navigations. It was developed 5 years ago but still works. The documenation is there in docbook. [1]