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   1658 Views

Avatar
Vinnie

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?

Avatar
Vinnie

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

Avatar
swaiba

Forum Moderator, 1799 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...

Avatar
simon_w

Forum Moderator, 474 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.

Avatar
neilcreagh

Community Member, 97 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:

$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;
}