22992 Posts in 11519 Topics by 2825 members
|Go to End|
1 November 2013 at 7:16am
I am migrating my site to SS and trying to add secondary menu apart from main one (f.eg Home, Career, About us, Contact). I'm a bit new to silverstripe and can't find a solution/advice that will simply explain a walk through. Particularly, when I am adding new pages through CMS, links to them are listed all together in a website
<% loop $Menu(1) %>
<li><a href="$Link" title="$Title.XML">$MenuTitle.XML</a></li>
<% end_loop %>
What I need is a secondary independent menu that would list only particular page links, something like "Show in menus?" option in CMS page settings..I've tried adding a custom field to page object via MySQL and to filter it with "IF" statement in above loop but no use..
Thanks for any help
3 November 2013 at 9:45am
4 November 2013 at 9:28am
Works as expected.
Installation steps just in case:
Put "silverstripe-menumanager" and "silverstripe-gridfieldextensions" in root folder of your Silverstripe.
Rebuild the db - http://localhost/your-site/index.php/dev/build?flush=1
There might be some errors during rebuild, asking to change Private declaration to Public. I didn't went too deep for the reason but it worked.
After db rebuild you must have extra item in CMS called - Menu Management. Works pretty simple and intuitive. I've created 2 menu sets and associated my pages to them accordingly. You can nest them in layouts by:
<% loop $MenuSet('your_menu').MenuItems %>
<li class="$LinkingMode"><a href="$Link" title="გადადით $Title.XML გვერდზე">$MenuTitle.XML</a></li>
<% end_loop %>
As you see $MenuSet('your_menu').MenuItems is used instead of $menu(1).
|Go to Top|