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

Best way to insert "id" in template to identify each page uniquely for individual page styling...

Go to End

4 Posts   998 Views


Community Member, 166 Posts

9 November 2011 at 5:49pm

Edited: 09/11/2011 5:51pm


I'm sure this has been done before or there might even be a standard way of doing this.

I'd like to have my main content div or even the body tag have a unique id for each page, so that I can selectively style elements differently on each page. (NOTE: the content I'd like to style is not editable in the CMS, so I can't add ID's via CMS editor)

eg For landing page

<body id="landing">
    <h1>Landing Page Heading - Which I don't want to see...</h1>

eg For contact us page

<body id="contactUs">
    <h1>Contact Us</h1>

CSS File

body#landingPage {

Rather than having to create a new field Page class, (ie ID), surely there is somefield available that will do the trick?

Thanks very much,



Community Member, 244 Posts

9 November 2011 at 6:58pm

Maybe use $ElementName? This is generated from the page's link.

Ryan M.

Community Member, 309 Posts

10 November 2011 at 7:09am

You can use $ID or $URLSegment too.

Ryan M.

Community Member, 309 Posts

10 November 2011 at 7:10am

Maybe even $ClassName if you can match against a general class of pages.