Menus & Navigation are controlled by both templates and category structure. There are a number of navigation methods available to us for use in templates and category descriptions. Assuming an understanding of Categories & Pages, the next thing to figure out is how to actually drop them into a menu on the public-facing side of your website. There are a few options, and they're all pretty simple.
Firstly we have hardlinking. You can hard-link to any category within Pearl, regardless of its live state, by using the following convention:
<a href="/about-us-c-300.html">About Us</a>
The important part there is the -c-300.html, where the 300 is the ID of the category in question, always preceded by -c-. You can put whatever you want before that however, so href="johhny-bobmore-danced-the-fantango-c-300.html" would take you to exactly the same page as the example above.
Next up is the Dynamic Menu. This one is the clever menu - controlled by a number of classes, it can be positioned horizontally, vertically, and with mouse-over or mouse-click submenus. Its appearance is completely customisable and can be image-based or pure CSS, all controlled the the c_config.js file. Essentially an implementation of SmartMenus, we're not going to attempt to rewrite the documentation when the guys over there have already done a fine job! Worth noting however is that Pearl automatically adds the category ID of each menu item to its <li> tag, allowing the easy attachment of scripting events, etc.:
<div id="dynamic-menu">
<ul id="SM1">
<li id="cat_276">
<li id="cat_299">
<li id="cat_300">
<li id="cat_301">
<li id="cat_302">
</ul>
</div>
Simply add to your template to pull in everything underneath Top. If you want to target a particular category - say, for example, 'Products' with an ID of 299 - you'd use , appending the appropriate CID before the closing #]. The dynamic menu will automatically update when you create, delete or edit a category in admin. It respects the 'live' state of a category, so if you can't figure out why a page or category isn't displaying in your menu, check that it's set to live before doing anything else!
The last method is a dynamically generated menu that delivers a category's contents as an unordered list, one level deep only, assigned the 'static menu' widget name (the 'static' and 'dynamic' menus are so-called purely because the latter uses JS). You call it by using , where x is the CID. Static menus are particularly handy, amongst other things, when it comes to splitting content up into presentational categories - as we've used on our own site to produce a 'features' menu. As per the dynamic menu, it also respects the live state of categories.
That pretty much covers the way Pearl handles navigation. Simple and straightforward, but infinitely flexible.
