Blog

Drupal - Création d'un bloc

29.01.2016
drupal-bloc

Sommaire

En bref
  • On crée un module avec les fichiers nécessaires puis un bloc custom via l’API de Drupal 8, par exemple en utilisant Drupal Console.
  • Le bloc est défini (contenu, identifiant, plugin, région, thème, visibilité, poids) puis enregistré via code.
  • Après activation du module, le bloc doit être placé dans une région du thème pour devenir visible sur le site.

De même que la création d’une page, l’API de Drupal 8 permet aussi de créer des blocs au sein d’un module.

Création d’un bloc custom

Il faut d’abord générer la structure du module. Pour cela, le plus simple est de suivre notre tutoriel avec Drupal Console. Au sein de votre module, créez le fichier .install qui va nous servir pour la création de notre bloc. 

Voici la structure du module : 

 

 

Voici le code pour la création d’un simple bloc custom avec Drupal 8 : 

{
 'basic',
   'info' => 'About us',
  ]);
  $block_content->set('body', 'Hello World');
  $block_content->save();
}

Après activation du module, votre bloc est maintenant disponible dans votre espace d’administration. Cependant, il n’est pas encore visible car il n’est pas positionné.

Positionnement du bloc custom

Afin de positionner le bloc dans un région particulière, il faut renseigner le code suivant : 

{
 'basic',
   'info' => 'About us',
  ]);
  $block_content->set('body', 'Hello World');
  $block_content->save();
  
  $block = Block::create([
   'id' => 'about_us',
   'plugin' => 'block_content:' . $block_content->uuid(),
   'region' => 'header',
   'provider' => 'block_content',
   'weight' => -100,
   'theme' => \Drupal::config('system.theme')->get('default'),
   'visibility' => array(),
   'settings' => [
     'label' => 'Hello World',
     'label_display' => FALSE,
   ],
  ]);
  
  $block->save();
}

Il vous suffit maintenant d’activer le module : 

 

 

Et le bloc est maintenant visible sur votre site Drupal 8 : 

 

 

Un projet ? Parlons-en

En tant qu'agence web experte Drupal, nous sommes à votre écoute pour étudier vos besoins
et vous proposer les meilleures solutions.

Autres articles

GraphQL est conçu pour une interaction client-serveur plus puissante et conviviale. C'est une langue de requête et un moteur d'exécution complexes, se développant rapidement et disponible comme service web dans Drupal 8, 9 et 10. Il se distingue par sa robustesse, offrant un niveau d'introspection et de personnalisation facilement accessible​​.

L'intégration de frameworks frontaux comme Angular avec des systèmes de gestion de contenu (CMS) est devenue une pratique courante dans le développement web. Ce guide vise à accompagner les développeurs dans le processus d'intégration d'Angular avec Drupal, en exploitant les avantages de ces deux technologies.

Pendant des années, le module Rules a été la solution incontournable pour automatiser des tâches sur Drupal. Mais avec l'évolution de l'écosystème, ses limitations en termes de performance et d'expérience utilisateur sont devenues de plus en plus évidentes. Aujourd'hui, une véritable révolution est en marche : le module ECA (Event - Condition - Action).