Yes, it is possible to add classes to the <body>
tag in Twig. You can do this by passing a variable containing the class names to your Twig template and then embedding that variable within the class
attribute of the <body>
tag.
Here’s a simple example:
In your PHP (or whatever backend language you’re using to render the Twig template):
// Assuming you're using Symfony or a similar framework $templateVariables = [ 'body_classes' => 'home-page logged-in', ]; return $this->render('your_template.html.twig', $templateVariables);
In your your_template.html.twig
file:
<!DOCTYPE html> <html> <head> <title>My Page</title> </head> <body class="{{ body_classes|default('') }}"> {# Your page content here #} </body> </html>
The |default('')
filter is used to ensure that if body_classes
is not defined, it defaults to an empty string, preventing an error and an invalid class
attribute.