I'm working on a large site that has three different menus and three different themes to be displayed based on the section of the site being visited. Ideally, I wouldn't have to maintain three different templates (especially as I continue to receive changes to the layout while I'm trying to build the CMS for it).
Provided I can solve the issue of switching menus based on the site section, the themes are similar enough that I can allow the user to select the proper CSS for a page within the CMS (according to http://www.silverstripe.org/archive/show/60032#post60032).
I've created the different menus and have them displaying correctly when hard-coded into the template, and I've managed to get them to display according to the following test:
<% if URLSegment == chickens %>
<% include ChickenNavigation %>
<% else %>
<% include Navigation %>
<% end_if %>
The obvious problem is the utter lack of flexibility for creating new pages that display the proper menu.
It would be fine to say, "If you want to display the chickens menu, you have to add 'chickens' somewhere in the page title," or "Select the menu you want to display from the CMS." But, I can't figure out how to modify any effort I've yet put forth to offer either of those capabilities ;-).
What's the better way to handle this?