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

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

Go to End

4 Posts   985 Views


Community Member, 164 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.