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.

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

Trailing slash in menu links

Go to End

5 Posts   2633 Views


Community Member, 2 Posts

4 March 2011 at 8:53am

I've searched the forum a few times now but can't find the answer what i'm looking for..

Why does SilverStripe add a trailing slash at the end of menu links?
Is it necessary and can it be removed? If so, how?


Community Member, 2 Posts

12 March 2011 at 6:57am

no one?
there must be some reason why links end with a slash and somehow it has to be possible to remove those 'trailing slashes' in (menu)links..


Forum Moderator, 1899 Posts

12 March 2011 at 8:36am

I think if you gave a more two-year-old description with a screen print, a code fragment or one of the "menu links" you are talking about I might have answered - but as it is I really don't understand what it is...


Community Member, 473 Posts

12 March 2011 at 9:31am

Vinnie, the slash is added in SiteTree::RelativeLink($action), which is called by SiteTree::Link($action), in the return statement:

 return Controller::join_links($base, '/', $action);

While the slash is not needed (you can try it by removing the trailing / from any of your URLs), it can't be easily removed while keeping the upgrade process simple.


Community Member, 128 Posts

24 March 2012 at 4:38am

Hi Vinnie,

I stumbled across this post because I was having trouble linking to a dataobject because of the slash being added. I was doing something like this:


But instead you can customise the Link() method on the data object itself (or page class) - and then just use $Link

I found this solution posted by Uncle Cheese on this post:

function Link() 
return $this->Page()->Link("show")."/".$this->ID;