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, biapar, Willr, Ingo, swaiba, simon_w

Trailing slash in menu links


Reply

5 Posts   1616 Views

Avatar
Vinnie

4 March 2011 at 8:53am Community Member, 2 Posts

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?

Avatar
Vinnie

12 March 2011 at 6:57am Community Member, 2 Posts

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..

Avatar
swaiba

12 March 2011 at 8:36am Forum Moderator, 1796 Posts

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...

Avatar
simon_w

12 March 2011 at 9:31am Forum Moderator, 474 Posts

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.

Avatar
neilcreagh

24 March 2012 at 4:38am Community Member, 94 Posts

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:

$Link/show/$ID

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 [url=http://www.silverstripe.org/data-model-questions/show/6116]on this post[/url]:

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