Skip to content
Grav 2.0 is officially stable. Read the announcement →
Themes & Styling

Use the taxonomy value as classname for styling

Solved by Hugh Barnes View solution

Started by lesabu 8 years ago · 2 replies · 704 views
8 years ago

Hi, i am using taxonomies to categorise my content. Now I would like to style each category differently. so lets say all posts with 'taxonomy: category: - apple' have a green background. And all 'taxonomy: category: - berry' have a red background.

How can I use the category name as a class for styling?

I tried in de base.thml.twig:
<body class="{{ page.header.taxonomy.category }}">

but that doesnt work 😭

How do I do this?

Thanks for help!

👍 1
8 years ago Solution

Great idea, you just have the Twig expression slightly wrong. I had to check in the docs for the correct expression, so don't feel bad 🙂

page.taxonomy.tag would work, but it's an array because you can have more than one term. If you know there's always one, try page.taxonomy.tag|first. Otherwise you need to compile a delimited string of classnames composed from each term: page.taxonomy.tag|join(' ') should do it.

👍 1
8 years ago

ooh 😱 I think thats it what I mean! Thank you!!

I am new to grav/programming and I think I need to check these theme variables a bit more. they seem quite – cool ;)

👍 1

Suggested topics

Topic Participants Replies Views Activity
Themes & Styling · by stuart young, 2 weeks ago
3 251 2 weeks ago
Themes & Styling · by Sebadamus, 3 weeks ago
5 317 2 weeks ago
Themes & Styling · by martynfoster735, 4 weeks ago
1 310 4 weeks ago
Themes & Styling · by Justin Young, 1 month ago
1 348 1 month ago
Themes & Styling · by Slebeig, 2 months ago
4 474 2 months ago