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 :

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

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

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

On génère le renderable array :

  1. $block_renderable = $block_array->build()

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

En plus court cela peut donner ça :

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

et dans le template twig :

  1. {{ breadcrumbs }}

 

 

Ajouter un commentaire

Ne sera pas publié

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...