...
You may control the navigation information on a per-folder level in your Alfresco Web Project via the web form named "Navigation Information". This web form manages a file in the current folder called "navigation.xml". If you have just created a new folder and you want to control its navigation information, you must choose Create > Create Web Content:
Then you should create content via the "Navigation Information" web form as shown below:
...
- To change the title of a Page which is already included in the current Section: type the url for the page (either the full root-relative url e.g.,"/foo/bar/baz.html" or just the file name e.g., "baz.html") in the Url field and a new title in the Title field.
- To add a Page which is not currently included in the current Section, because it is has a non-html-like file extension: type the url for the page (either the full root-relative url for the page, e.g., "/foo/bar/baz.txt", or just the file name e.g., "baz.txt") into the Url field and the desired title in the Title field.
- To add a Page which is not currently included in the current Section, because you want to cross-link it from somewhere else in the site: type the full root-relative url for the page, e.g., "/other/folder/thing.html", into the Url field and the desired title in the Title field.
- To add a Page which is not currently included int he current Section, because it is a link to an external web page: type the absolute url for this page, e.g., "http://web.mit.edu.ezproxyberklee.flo.org/", into the Url field and the desired title in the Title field.
- To change the order of a Page or a Section which is already included in the current Section: enter its url (root-relative or file name) into the Url field and the desired title in the Title field, and change the order of the Link by clicking the up or down arrow buttons in the form.
listingNote title Note Note that any Links that are explicitly included in the navigation.xml file will come first in the listing for the current Section
in, before any Sections or Pages which are automatically included by default. If you want fine-tuned control over the order of all the Sections and Pages
within the current Section, you will need to create Links for all of them.
(Does that make sense? Maybe that was too complicated, but the upshot is this: the Link fields specify the Pages that appear in the current Section.)
...
Name | Type | Description |
---|---|---|
title | String | the title for this Page or Section. |
url | String | the URL for this Page or Section. |
breadcrumb | java.util.List<Page> | the breadcrumb for this Page or Section. This is a List of all this Page's ancestors in the site tree, starting from the Home section and ending at the current Page. You can iterate through this collection using the <c:forEach> tag in the JSTL. |
containingSection | Section | this Page's parent Section. This is nullif the current Page is the home section (root) of the site tree. The containingSection has the current Page as one of its subpages. |
isASection | boolean | true if the current Page is also a Section (can have subpages). |
subpages | java.util.Collection<Page> | if this Page is also a Section: a Collection of all the Pages and Sections contained in this Section. Every element in this Collection has the current Page as its containingSection. You can iterate through this collection using the <c:forEach> tag in the JSTL. |
isExternal | boolean | true if the current Page corresponds to a local root-relative url in the current webapp. |
Tag descriptions
...
The following section describes the tags in the navigation tag library, as well as giving some example of how they are used in conjunction with the above bean properties.
<nav:setSiteTreeVar>
This <nav:setSiteTreeVar> action sets a scoped variable to the object representing the current site tree. The site tree bean is useful for a JSP which generates a Site Index or Site Map page. Once you have set a variable to the site tree bean, you can walk through it with the <nav:treeWalk> and <nav:subTreeWalk> tags.
It is not recommended to save the site tree to session or application scope for later use, as it will possibly be stale (if pages have been added or removed without restarting the webapp). Instead, just use <nav:setSiteTreeVar> again when you need the most recent site tree.
Syntax
<nav:setSiteTreeVar \ [var="_var_"\] \ [scope="*page*\|request\|session\|application"\] /> Wiki Markup
Attributes
Attribute name | Java type | Default | Dynamic value | Description |
---|---|---|---|---|
var | String | "siteTree" | No | The name of the variable to contain the site tree object. |
scope | String | "page" | No | The scope for the variable. It must be one of "page", "request", "session", or "application". |
...
No Format |
---|
<nav:setSiteTreeVar var="theSiteTree" /> The Site Tree was last updated at <fmt:formatDate value="${theSiteTree.lastUpdated}" pattern="h:mm:ss a" /> |
And a possible output for this example:
Panel |
---|
The Site Tree was last updated at 11:17:30 AM |
<nav:treeWalk> and <nav:subtreeWalk>
...
Warning | ||
---|---|---|
| ||
This is a simple tag, so you may not include jsp scripting elements (<% ... %>, <%= ... %>, etc.) inside the body of the <nav:treeWalk> tag. You may use only JSP tags inside the body. |
Syntax
<nav:treeWalk \<nav:treeWalk [root="_theRootObject_"\] \ [var="_currentNodeObjectVar_"\] \ [depth="_currentDepthVar_"\] >
> Wiki Markup
...
<nav:subtreeWalk subroot="_subNodeObject_" />
...
</nav:treeWalk>
Attributes
Attribute name | Java type | Default | Dynamic value | Description |
---|---|---|---|---|
root | Object | the home section of the current site tree | Yes | The root object of the tree to be walked. |
var | String | "var" | No | The name of the nested variable holding the current node in the tree. |
depth | String | (No default value, ignored) | No | An optional variable name to expose the depth of the current node in the tree. If this is included, the variable will be set to an integer representing how many levels down the tree the current node is, with 0 representing the root node, 1 representing a child of the root node, and so on. |
subroot | Object | (Required attribute) | Yes | The object below the current node to become the new current node of the tree. |
...
No Format |
---|
<nav:setSiteTreeVar var="theSiteTree" /> <h3><ul><li><ul><li> <nav:treeWalk root="${theSiteTree.homeSection}" var="page"> <a href="${page.url}" ><c:out ><c:out value="${page.title}" /value="${page.title}" /></a>:<br/> <ul><c:forEach items="${page.subpages}" var="subpage"> <li><nav:subtreeWalk subroot="${subpage}" /></li> </c:forEach></ul> </nav:treeWalk> </li></ul></h3> ul> |
And a possible output for this example:
Panel |
---|
Home:
|
<nav:setBreadcrumbVar>
This <nav:setBreadcrumbVar> action sets a scoped variable to an object representing the breadcrumb for a particular target url in the site. In this case, the breadcrumb object is a list of the target's ancestor pages, starting from the home page of the site and ending at the target page. This is useful for a JSP which generates a breadcrumb for the current page. Once you have set a variable to a breadcrumb object, you can iterate through it within a <c:forEach> tag.
It is not recommended to save the breadcrumb to session or application scope for later use, as it will possibly be stale (if pages have been added or removed without restarting the webapp). Instead, just use <nav:setBreadcrumbVar> again when you need the most recent breadcrumb.
Syntax
<nav:setBreadcrumbVar \ [url=_"targetUrl_"\] \ [var="_var_"\] \ [scope="*page*\|request\|session\|application"\] /> Wiki Markup
Attributes
Attribute name | Java type | Default | Dynamic value | Description |
---|---|---|---|---|
url | String | the url of the currently requested page | No | The url of the page whose breadcrumb is desired. For best results, this should be a root-relative url beginning with a slash (e.g., "/foo/bar/baz.html"). |
var | String | "breadcrumb" | No | The name of the variable to contain the breadcrumb object. |
scope | String | "page" | No | The scope for the variable. It must be one of "page", "request", "session", or "application". |
...
No Format |
---|
<nav:setBreadcrumbVar var="breadcrumb" />
<c:forEach var="page" items="${breadcrumb}" varStatus="status">
<c:if test="${not status.first}">></c:if><a href="${page.url}" ><c:out value="${page.title}" /></a>
</c:forEach>
|
And a possible output for this example:
Panel |
---|
Home > Pets > Dogs |
<nav:setPageVar>
This <nav:setPageVar> action sets a scoped variable to an object representing the navigation information for a particular target url in the site. This is useful for a JSP which needs to know, for example, the list of links for the current page or section.
It is not recommended to save the page object to session or application scope for later use, as it will possibly be stale (if pages have been added or removed without restarting the webapp). Instead, just use <nav:setPageVar> again when you need the most recent page object.
Syntax
Syntaxunmigrated-wiki-markup
<nav:setPageVar \ [url=_"targetUrl_"\] \ [var="_var_"\] \ [scope="*page*\|request\|session\|application"\] />
Attributes
Attribute name | Java type | Default | Dynamic value | Description |
---|---|---|---|---|
url | String | the url of the currently requested page or section | No | The url of the desired page. For best results, this should be a root-relative url beginning with a slash (e.g., "/foo/bar/baz.html"). |
var | String | "page" | No | The name of the variable to contain the page object. |
scope | String | "page" | No | The scope for the variable. It must be one of "page", "request", "session", or "application". |
...
No Format |
---|
<nav:setPageVar var="page"/>
<c:forEach var="subpage" items="${page.subpages}" >
• <a href="${subpage.url}" ><c:out value="${subpage.title}" /></a><br/>
</c:forEach>
|
And a possible output for this example:
Panel |
---|
|