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:

Archive /

Our old forums are still available as a read-only archive.

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

how to use relative paths for theme files


Go to End


3 Posts   2476 Views

Avatar
davee

Community Member, 3 Posts

8 July 2008 at 9:29am

Edited: 08/07/2008 9:29am

hey guys,

this is very basic on linking to /theme files in templates.

given i am using my own theme and including css:
<link rel="stylesheet" href="themes/exampletheme/css/screen.css" type="text/css" media="screen" />

the thing is though, the engine generates links with slashes at the end by default, i.e.:
www.example.com/contact/

and this obviously wouldn't work as the ultimate http request to css is assembled as following:
www.example.com/contact/themes/exampletheme/css/screen.css
while i need the query to point to www.example.com/themes/exampletheme/css/screen.css

in other words this kind of relative path above ("themes/exampletheme/....") doesn't work unless i remove the end slash from the URL.

there seems to be a workaround by using $BaseHref for all media files but i am sure there is another clean way. just by looking at the code used at silverstripe.com ;)

i also don't want to hardcode anything as paths on devel server are different.

how do you guys deal with this? have i missed something in the confuguration .htaccess?

cheers,
davee

Avatar
Willr

Forum Moderator, 5523 Posts

8 July 2008 at 9:58am

Have you got the <% base_tag %> in your theme? This sets the <base> tag in your template to yoursite.com/ so every relative link on the page is taken from this.

Avatar
davee

Community Member, 3 Posts

8 July 2008 at 8:23pm

many thanks Will, this was helpful!