5.2.1. Navigation root

How Plone determines the navigation root to use for the sitemap, navigation tree, tabs and breadcrumbs.

As of Plone 2.5, the root property in portal_properties/navtree_properties enables the site admin to set a folder as the root of the site's navigation. This will affect not only the navigation tree (which was all it did in Plone 2.1.3 and later versions in the 2.1 series), but also affect where the breadcrumbs, the tabs and the sitemap are rooted.

The canonical navigation root is returned as a path, relative to the portal root, in CMFPlone.browser.navtree.getNavigationRoot(). This will use the property in navtree_properties, unless the context or a parent object is marked with the CMFPlone.browser.interfaces.INavigationRoot interface. If such an object is found, that is used as the navigation root. By default, the portal root is marked with this interface, but it's possible to mark other objects with it as well.

The root path is used by the navtree and sitemap query builders and the navigation tabs and breadcrumb algorithms (see the following pages) to root the catalog query used to construct these.