D8 How do I add a node ID as class to the <body> tag?

down vote
In mytheme.theme file: add the below code.

function mytheme_preprocess_html(&$variables) {
// Add node id to the body class.
$node = \Drupal::routeMatch()->getParameter('node');
if($node) {
$variables['attributes']['class'][] = 'node-' . $node->id();
This will add "node-{{nid}}" class in body tag.

The Simplest Way To Center Elements Vertically And Horizontally


The idea, of course, revolves around flexbox. First, we create a container in which we want everything to be centered:

You can place this container div anywhere you want. In the live example above we've made it take up the whole width and height of the page.

As we said earlier, we will be using only three lines of code. Here they are:

display: flex;
justify-content: center;
align-items: center;

Theme suggestion for D8 blocks

* Implements hook_theme_suggestions_HOOK_alter() for form templates.
* @param array $suggestions
* @param array $variables
function THEMENAME_theme_suggestions_block_alter(array &$suggestions, array $variables) {
// Block suggestions for custom block bundles.
if (isset($variables['elements']['content']['#block_content'])) {
array_splice($suggestions, 1, 0, 'block__bundle__' . $variables['elements']['content']['#block_content']->bundle());

Bind event listener to ajax loaded elements

$(document).on('click', '.dynamicelement', function() {

$(.staticparent).on('click', '.dynamicelement', function() {

Tweets for D8


'media_url' => $tweet->entities->media[0]->media_url

CSS 3 multicolumn

Css 3 background clip

Link field URL valie twig

{{ node.field_my_link.0.url }}

Node type twig

You should be able to get the human-readable name of the content type (or the "label") by doing {{ node.type.entity.label }} in your node Twig template.

Debug D8


Subscribe to Front page feed