Skip to content

Régions & Blocs

This content is not available in your language yet.

Les régions sont des zones définies par le thème où l’on peut placer des blocs. Chaque thème définit ses propres régions.

┌─────────────────────────────────────────────────────────────┐
│ Primary menu │
├─────────────────────────────────────────────────────────────┤
│ Secondary menu │
├─────────────────────────────────────────────────────────────┤
│ [Breadcrumb] │
├─────────────────────────────────────────────────────────────┤
│ Highlighted │
├─────────────────────────────────────────────────────────────┤
│ Help (messages système) │
├─────────────────────────────────────────────────────────────┤
│ Content │
├───────────────────────────────────┬─────────────────────────┤
│ Content Below │ Sidebar │
├───────────────────────────────────┴─────────────────────────┤
│ Footer Top │
├─────────────────────────────────────────────────────────────┤
│ Footer Bottom │
└─────────────────────────────────────────────────────────────┘
  1. AppearanceSettings[Votre thème]
  2. Ou visitez : /admin/structure/block/demo/[theme_name]
TypeSourceExemple
System blocksCoreBranding, Breadcrumb, Messages
Menu blocksCoreMain menu, Footer menu
Views blocksViewsProduits récents, Articles
Custom blocksContentHero, Newsletter, Contact
Module blocksContribFormulaire, Slider
  1. StructureBlock layout
  2. Ou /admin/structure/block
┌─────────────────────────────────────────────────────────────┐
│ Block layout [Demonstrate]│
├─────────────────────────────────────────────────────────────┤
│ │
│ ▼ Primary menu [+ Place block] │
│ ├── Site branding [Configure] [Remove] │
│ └── Main navigation [Configure] [Remove] │
│ │
│ ▼ Content [+ Place block] │
│ ├── Page title [Configure] [Remove] │
│ └── Main page content [Configure] [Remove] │
│ │
│ ▼ Sidebar [+ Place block] │
│ └── (empty) │
│ │
│ ▼ Footer Top [+ Place block] │
│ └── (empty) │
│ │
└─────────────────────────────────────────────────────────────┘
  1. Dans la région Primary menu, vérifiez que Site branding est présent

  2. Cliquez sur Configure

  3. Options :

    • ☑ Site logo
    • ☑ Site name
    • ☐ Site slogan
  4. Save block

  1. Vérifiez que Main navigation est dans Primary menu
  2. Configurez :
    • Initial visibility level : 1
    • Number of levels to display : 2 (pour les sous-menus)
  1. Dans Breadcrumb, vérifiez que le bloc existe
  2. Configurez la visibilité :
    • Pages : Ne pas afficher sur <front>
  1. Vérifiez que Status messages est dans Help
  2. Ce bloc affiche les notifications (succès, erreurs)
  1. Dans Footer Top, cliquez Place block
  2. Recherchez “Footer”
  3. Sélectionnez Footer menu
  4. Configurez les niveaux à afficher

Cliquez sur Configure pour accéder aux paramètres :

OptionDescription
Block titleTitre affiché (ou ☐ pour masquer)
Display titleAfficher/masquer le titre
OptionPattern
Toutes sauf listées<front>
Seulement listées/shop\n/shop/*
Pattern/node/*\n!/node/*/edit

Utilisez * comme wildcard et ! pour exclure.

Déplacez le bloc vers une autre région si nécessaire.

Les blocs créés dans Views apparaissent dans la liste des blocs disponibles.

  1. SidebarPlace block
  2. Recherchez “Produits récents”
  3. Sélectionnez le bloc Views correspondant
  4. Configurez :
    • Title : Nouveautés (ou utiliser celui de la vue)
    • Visibility → Pages : /shop\n/shop/*
  1. Footer TopPlace block
  2. Recherchez “Marques” (bloc Views)
  3. Configurez :
    • Display title : (masquer)
    • Visibility : Toutes les pages
  1. Utilisez les croix (✥) pour déplacer
  2. Déplacez entre régions ou réordonnez
  3. Save blocks

Chaque bloc a un poids :

  • Valeur basse → Haut de la région
  • Valeur haute → Bas de la région

Créez une mise en page spéciale pour la homepage :

RégionBlocs
HighlightedHero slider (custom block)
ContentVue “Produits populaires”
Content BelowVue “Derniers articles”
Footer TopNewsletter (custom block)
RégionBlocs
SidebarProduits similaires
Content BelowAvis clients (vue)
RégionBlocs
SidebarFiltres (exposed form)
SidebarCatégories menu

Les blocs peuvent être masqués sur certaines tailles d’écran via CSS :

/* Masquer la sidebar sur mobile */
@media (max-width: 768px) {
.region-sidebar {
display: none;
}
}
/* Ou utiliser des classes sur les blocs */
.block-mobile-hidden {
display: none;
}
@media (min-width: 769px) {
.block-mobile-hidden {
display: block;
}
}
Fenêtre de terminal
# Lister les blocs placés
drush ev "print_r(array_keys(\Drupal::service('block.repository')->getVisibleBlocksPerRegion()));"
# Vider le cache des blocs
drush cc block

Exemple de block.block.mainnavigation.yml :

langcode: fr
status: true
dependencies:
config:
- system.menu.main
module:
- system
theme:
- olivero
id: olivero_main_navigation
theme: olivero
region: primary_menu
weight: 0
provider: null
plugin: 'system_menu_block:main'
settings:
id: 'system_menu_block:main'
label: 'Navigation principale'
label_display: '0'
provider: system
level: 1
depth: 2
expand_all_items: false
visibility:
request_path:
id: request_path
negate: false
pages: ''
Fenêtre de terminal
# Exporter la configuration des blocs
drush cex -y
# Fichiers générés
ls config/sync/block.block.*.yml
  • Site branding placé (logo + nom)
  • Navigation principale configurée
  • Breadcrumb visible (sauf accueil)
  • Messages système en place
  • Menu footer placé
  • Blocs Views placés (produits, articles)
  • Visibilité configurée par page/type
  • Configuration exportée

Créons maintenant des Blocs personnalisés.