Customize navigation
Use dynamic content spots to determine what is displayed by Top, Primary, and Secondary navigation. Use the navigation.jsp file to map properties to the dynamic content spot IDs in the theme.html files. Rendering of the navigation is done with a single JSP file with <ul> and <li> tags.
These are the levels of navigation provided in a theme:
- Top - Item 1
- Displays links for the pages directly under Content Root, such as Home, Administration, and Applications. Use the dyn-cs:id:85theme_topNav to display Top navigation:
<div class="wpthemeHeader"> ... <a rel="dynamic-content" href="dyn-cs:id:85theme_topNav"></a> ... </div>
- Primary - Item 2
- Displays links to the child pages of the currently selected top page, such as Getting Started and Features for Home. Use the dyn-cs:id:85theme_primaryNav to display Primary navigation:
<div class="wpthemeBanner"> ... <a rel="dynamic-content" href="dyn-cs:id:85theme_primaryNav"></a> ... </div>
- Secondary - Item 3
- Displays links to the child pages of the currently selected primary page. Use the dyn-cs:id:85theme_secondaryNav to display Primary navigation:
<div class="wpthemeSecondaryBanner"> ... <a rel="dynamic-content" href="dyn-cs:id:85theme_secondaryNav"></a> ... </div>
- Breadcrumb - Item 4
- Displays the position of the current web page within the website and the logical path back to the highest level of the site framework. The breadcrumb trail starts at the content root and goes down to the currently selected static page.
- Side
- Displays links for the child and grandchild pages of the currently selected top page. By default, this template is applied to the Administration section of the portal.
<div class="wpthemeSideNavigation wpthemeLeft" role="navigation"> ... <a rel="dynamic-content" href="dyn-cs:id:85theme_sideNav"></a> ... </div>
- Mobile
- Displays links for the child and grandchild pages of the currently selected top page, on mobile devices only, such as smartphones and tablets.
<div class="wpthemeBanner"> ... <a rel="dynamic-content" href="dyn-cs:id:85theme_mobileNav"></a> ... </div>
Navigation content spots
The content spot IDs map to wp_dynamicContentSpots_85 module subcontributions in the PortalServer_root\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\WEB-INF\plugin.xml file.
Name Value 85theme_topNav res:{war:context-root}/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemeHeaderNav&rootLabel=Portal&startLevel=0&primeRoot=true
85theme_primaryNav mvc:res:{war:context-root}/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemePrimaryNav%2520wpthemeLeft&rootLabel=Portal%2520Application&startLevel=1,smartphone@,tablet@
85theme_secondaryNav mvc:res:{war:context-root}/themes/html/dynamicSpots/navigation.jsp?rootClass=wpthemeSecondaryNav&startLevel=2&rootLabel=Application&levelsDisplayed=2,smartphone@,tablet@
85theme_sideNav mvc:res:{war:context-root}/themes/html/dynamicSpots/sideNavigation.jsp?startLevel=2,smartphone@,tablet@
85theme_mobileNav mvc:smartphone/tablet@res:{war:context-root}/themes/html/dynamicSpots/mobileNavigation.jsp
The subcontribution URI value indicates which JSP is loaded in the spot. For the three horizontal navigation spots, the same navigation.jsp file is used with parameters passed to the JSP. The navigation.jsp file is in the PORTAL_HOME\theme\wp.theme.themes\default85\installedApps\DefaultTheme85.ear\DefaultTheme85.war\themes\html\dynamicSpots folder. The available parameters are:
- startLevel
- Start level of page navigation to be displayed in this spot, using a zero-based index where 0 is the highest level.
- levelsDisplayed
- Number of navigation levels to be displayed. If this parameter is not specified, then the navigation from the startLevel to the childs of the last page selected is displayed. For example, if the startLevel was set to 0 and levelsDisplayed as set to 3, then the navigation levels 0, 1, 2 would be displayed.
- rootClass
- Style class name to apply to the block of tags that are page links: a <ul> with one <li> containing one <a> per page.
- primeRoot
- Whether the navigation JSP must output priming data for the Content Root. Priming the Content Root is required if Enabler navigation priming is turned on. By default, this parameter is set to true on the topNav dynamic content spot only, so the priming data is output exactly once. If this parameter is not specified, it defaults to false.
Enabler was deprecated.
In the theme.html files for the theme, we can remove the default navigation dynamic content spots. We can then replace the dynamic content spots with our own mappings that point to our own jsp implementation. For example, we can replace the three top navigation levels with a single top navigation and a single side navigation.
- Create a dynamic content spot for navigation
Create a dynamic content spot mapping to customize the theme for Top, Primary, and Secondary navigation. Change the myTheme value to the name of the theme.
- Add a level of navigation
We can increase levels of navigation by adding a fourth level of navigation.
- Remove a level of navigation
We can reduce the levels of navigation to two levels.
- Side navigation
The Portal 8.5 theme includes a side navigation template that can be applied to render pages at the secondary level in a list with the main content. By default, this template is applied to the Administration section of the portal.
Parent Customize the theme