Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Menu displays hidden pages

Go to End

3 Posts   2026 Views


Community Member, 141 Posts

10 May 2010 at 7:22pm

My site has a navigation menu with submenu items and some of them should be hidden.

Code for the menu:

<ul id="navigation">
 	<% control Menu(1) %>	  
  		<li><a href="$Link" title="Gehen Sie zur $Title.XML Seite" class="$LinkingMode"><span>$MenuTitle.XML</span></a>
			<% if AllChildren %><ul class="subnavigation"> <% end_if %>
			<% control AllChildren %>
				<li><a href="$Link" title="Gehen Sie zur $Title.XML Seite" class="$LinkingMode"><span>$MenuTitle.XML</span></a></li>
			<% end_control %>
			<% if AllChildren %></ul> <% end_if %>
   	<% end_control %>

Unfortunately this seems to display all sub-pages even if they are unchecked at 'Show in Menu'.

For example: There is a Products page and it has 19 child-pages but only 4 should be displayed. How can I hide the 15 pages? And I don't want to put them underneath another page - that would be pretty messy.

My question: How can I have child-pages that stay hidden in the menu?


Forum Moderator, 5523 Posts

10 May 2010 at 10:05pm

AllChildren returns ALL the children, regardless of whether they are visible or not. Using the standard <% control Children %> filters the pages by the show in menus checkbox.


Community Member, 141 Posts

11 May 2010 at 3:44am

:-) Thanks! Didn't know that there is also a Children control.