Managed navigation

Rx version 6.5.2

We want to change how our managed navigation functions - currently it displays the site folders as they are in the content explorer. Because some areas of the site have deep navigation levels (up to 7 or 8 levels) we want to have the navigation disjoint or break away from the full folder structure at a defined point and instead display a specified number of lower levels only while maintaining the full breadcrumbs path.

Has anyone done this already? If so, all tips and suggestions will be greatly appreciated.

Cara

You can add local fields to the navon content type, to allow users (those that you give access to edit navons) to select checkboxes to, for example, skip over that navon but display its children, or regard it as the “top” of a sub-site (effectively regard it as a navtree.) You have to write your own code to pick up on these, of course. When my Workbench unfreezes (this afternoon it is taking half a hour each time I save changes to a content type) I’ll check my navigation templates to see if there are any tricks in there worth posting here.

You can test the state of checkboxes added as local fields to navons using something like this:

$navonnode.getProperty("rx:cms_loc_start_new_leftnav").Boolean

Another thing I’ve set up, for some of our sites, is the ability to hide certain navigational elements until a visitor clicks his or her way down to a certain level within the site. To do this, I set up a publishing variable called cms_depthstartleftnav, then read this in order to set a binding in the global template (or a page template if you have navigation slots in page templates) as follows:

$rx.cond.choose($tools.math.toInteger($sys.variables.cms_depthstartleftnav)==null,0,$tools.math.toInteger($sys.variables.cms_depthstartleftnav))

Then, in the relevant navigation template, I compare this binding to $navonnode.getDepth()

See also this thread.

Cara,

NavTrees are linked to Navons and Navons to each other using Active Assembly Relationships. You can manually remove the Active Assembly Relationships to the Navons in the intervening layers, and create new Active Assembly Relationships to the deeper layers to which you want to connect. Deleting the intervening Navons is optional.

RLJII