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've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

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

Avatar
vwd

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