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

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


Reply


4 Posts   577 Views

Avatar
vwd

Community Member, 160 Posts

9 November 2011 at 5:49pm

Edited: 09/11/2011 5:51pm

Hi,

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

eg For contact us page

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

CSS File

body#landingPage {
display:none;
}

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,

VWD.

Avatar
ajshort

Community Member, 244 Posts

9 November 2011 at 6:58pm

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

Avatar
Ryan M.

Community Member, 309 Posts

10 November 2011 at 7:09am

You can use $ID or $URLSegment too.

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