Drupal 8 - Afficher un bloc où l'on veut

Posté le Mardi 4 octobre 2016 - 10:08
Dernière mise à jour le Jeudi 15 février 2018 - 08:03

On commence par récupérer le service de gestion des blocks :


$block_manager = \Drupal::service('plugin.manager.block');

On construit le bloc que l'on souhaite via son id


$block_array = $block_manager->createInstance('system_breadcrumb_block', []);

On génère le renderable array :


$block_renderable = $block_array->build()

et voila, plus qu'à l'afficher dans un template.

En plus court cela peut donner ça :

$block_manager = \Drupal::service('plugin.manager.block');
$variables['breadcrumbs']= [
    '#type' => 'container',
    "element-content" => $block_manager->createInstance('system_breadcrumb_block', [])->build(),
];

et dans le template twig :


{{ breadcrumbs }}

 

Aller plus loin ?

Ajouter un commentaire

Ne sera pas publié

Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...