%--#RevizeProperties: USE REVIZE MENU (DOCUMENT PROPERTIES) TO EDIT DATA BELOW:
status=new
options=
server=localhost:8080
projectName=plugins
label=
location=menus/menus_topnav_list_include_include.jsp
version=
docType=include
subType=include
moduleName=
fieldName=
channels=|
description=
--%><%@ include file="/plugins/setup/setup_include_header.jsp" %><%--
__________________________________________________________________________________________
Used to place topnav menu on template
Parameters:
filter (required) defines filter used on rz:list
numberoflevels (optional) String that defines number of link levels (default = 2)
outer_ul_id (optional) String used as id on outer
tag (default topnav)
outer_ul_class (optional) String used as class on outer tag (default none)
debug (optional) boolean true for debug print.out
TODO: This code needs to be cleaned up to standard of leftnav_section_list
classVar is not reliable and firstID is not at all generic
__________________________________________________________________________________________
--%><% String VERSION = "v05-18-2011";
%><%--
defines more varibles than needed but it works (and backward compatible)
--%><%@ include file="/plugins/menus/global_menu_variables.jsp" %><%
//----- input parameters
filter = StringUtils.getParameter(request,"filter");
String outer_ul_id = StringUtils.getParameter(request,"outer_ul_id");
if (outer_ul_id.equals("")) outer_ul_id = "topnav";
String outer_ul_class = StringUtils.getParameter(request,"outer_ul_class");
if (!outer_ul_class.equals("")) outer_ul_class += " ";
//if (!outer_ul_class.equals("")) outer_ul_class = "class=\"" + outer_ul_class + "\"";
String numberoflevels = StringUtils.getParameter(request,"numberoflevels");
if (numberoflevels.equals("")) numberoflevels = "2";
boolean debug = (StringUtils.getParameter(request,"debug") == "true");
//----- local variables
String tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
String ulTabs = "";
minLevel = 0;
%>
<%
%>"
filter="<%=filter%>"><%
rz.menusorter();
%><%
//----- Loop through all menu items for this section (all levels)
while ( rz.listnext() && rz.listindex >= 0)
{
//----- Look ahead to next item level (requires groupbyfield="linklevel")
linkLevel = Integer.parseInt(rz.fetch("links","linklevel"));
//linkID = Integer.parseInt(rz.fetch("links","linkid"));
//recordID = Integer.parseInt(rz.pagerecordid);
linkID = rz.fetch("links","linkid");
recordID = rz.pagerecordid;
if (rz.listindex < rz.listlimit)
nextLevel = Integer.parseInt(rz.groupnextvalue);
else
nextLevel = minLevel; //move all the way up
//----- Get primary link properties (rz.content, rz.link, rz.target).
// Also executes link code to create dependent template page.
rz.linkmanager(); //same as
// adjust rz.link if none
if (rz.linktype.equals("none"))
rz.link = "#";
// supresses javascript alert passed via rz.link
if (rz.link.toLowerCase().indexOf("javascript") != -1)
rz.link = "#";
// remove leading ../ if it existing (needed which template in sub-folder)
while(rz.link.indexOf("../") == 0)
rz.link = rz.link.substring(3);
linkUrl = rz.link;
linkContent = rz.content;
linkTarget = rz.target;
//----- Actual html list and/or link code follows
// (this code is done for each menu item)
if (linkLevel == minLevel) // top level link
{
classVar = (linkID.equals(recordID))?" class=\"active\"":"";
firstID = (rz.listindex == 0)?" id=\"first\"":"";
%>
- <%=firstID%>><%=linkContent%>
<%
if(nextLevel == 0)
{
%>
<%
}
}
else // lower level link
{
if(firstLevelCtr == 0)
{
%>
<%
firstLevelCtr++;
}
// add submenu link items ("url","Link name","_target","alt text")
if(linkLevel == 1)
{
// classVar = (nextLevel == 2)?" id=\"arrow\"":"";
%>
- ><%=linkContent%>
<%
if(nextLevel == 0)
{
%>
<%
firstLevelCtr=0;
}
if (nextLevel ==1 )
{
%><%
}
if (nextLevel == 2)
flag = true;
}
if (flag== true && linkLevel == 2)
{
if (secondLevelCtr == 0)
{
%>
<%
if (nextLevel == 0)
{
firstLevelCtr=0;
%>
<%
}
if (nextLevel==1)
{
%><%
}
secondLevelCtr=0;
}
}
}
//----- If moving up a level(s); nextLevel=minLevel if this is last item
// (code used once at END of each sub-level)
while (nextLevel < menuLevel)
{
menuLevel--;
}
} //end list (while loop)
%><%
%>