Régions & Blocs
🗺️ Les régions dans Drupal
Section intitulée « 🗺️ Les régions dans Drupal »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.
Régions du thème par défaut (Olivero)
Section intitulée « Régions du thème par défaut (Olivero) »┌─────────────────────────────────────────────────────────────┐│ Primary menu │├─────────────────────────────────────────────────────────────┤│ Secondary menu │├─────────────────────────────────────────────────────────────┤│ [Breadcrumb] │├─────────────────────────────────────────────────────────────┤│ Highlighted │├─────────────────────────────────────────────────────────────┤│ Help (messages système) │├─────────────────────────────────────────────────────────────┤│ Content │├───────────────────────────────────┬─────────────────────────┤│ Content Below │ Sidebar │├───────────────────────────────────┴─────────────────────────┤│ Footer Top │├─────────────────────────────────────────────────────────────┤│ Footer Bottom │└─────────────────────────────────────────────────────────────┘Voir les régions
Section intitulée « Voir les régions »- Appearance → Settings → [Votre thème]
- Ou visitez :
/admin/structure/block/demo/[theme_name]
🧱 Types de blocs
Section intitulée « 🧱 Types de blocs »| Type | Source | Exemple |
|---|---|---|
| System blocks | Core | Branding, Breadcrumb, Messages |
| Menu blocks | Core | Main menu, Footer menu |
| Views blocks | Views | Produits récents, Articles |
| Custom blocks | Content | Hero, Newsletter, Contact |
| Module blocks | Contrib | Formulaire, Slider |
⚙️ Interface Block Layout
Section intitulée « ⚙️ Interface Block Layout »Accéder au Block Layout
Section intitulée « Accéder au Block Layout »- Structure → Block layout
- Ou
/admin/structure/block
L’interface
Section intitulée « L’interface »┌─────────────────────────────────────────────────────────────┐│ 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) ││ │└─────────────────────────────────────────────────────────────┘📌 Placer les blocs de base
Section intitulée « 📌 Placer les blocs de base »1. Site Branding (Logo)
Section intitulée « 1. Site Branding (Logo) »-
Dans la région Primary menu, vérifiez que Site branding est présent
-
Cliquez sur Configure
-
Options :
- ☑ Site logo
- ☑ Site name
- ☐ Site slogan
-
Save block
2. Navigation principale
Section intitulée « 2. Navigation principale »- Vérifiez que Main navigation est dans Primary menu
- Configurez :
- Initial visibility level :
1 - Number of levels to display :
2(pour les sous-menus)
- Initial visibility level :
3. Breadcrumb (Fil d’Ariane)
Section intitulée « 3. Breadcrumb (Fil d’Ariane) »- Dans Breadcrumb, vérifiez que le bloc existe
- Configurez la visibilité :
- Pages : Ne pas afficher sur
<front>
- Pages : Ne pas afficher sur
4. Messages système
Section intitulée « 4. Messages système »- Vérifiez que Status messages est dans Help
- Ce bloc affiche les notifications (succès, erreurs)
5. Menu Footer
Section intitulée « 5. Menu Footer »- Dans Footer Top, cliquez Place block
- Recherchez “Footer”
- Sélectionnez Footer menu
- Configurez les niveaux à afficher
🎨 Configurer un bloc
Section intitulée « 🎨 Configurer un bloc »Options communes
Section intitulée « Options communes »Cliquez sur Configure pour accéder aux paramètres :
Paramètres de base
Section intitulée « Paramètres de base »| Option | Description |
|---|---|
| Block title | Titre affiché (ou ☐ pour masquer) |
| Display title | Afficher/masquer le titre |
Visibilité
Section intitulée « Visibilité »| Option | Pattern |
|---|---|
| Toutes sauf listées | <front> |
| Seulement listées | /shop\n/shop/* |
| Pattern | /node/*\n!/node/*/edit |
Utilisez * comme wildcard et ! pour exclure.
Cochez les types de contenu où le bloc doit apparaître :
- ☑ Product
- ☐ Blog Article
- ☐ Page
Cochez les rôles autorisés :
- ☑ Anonymous user
- ☑ Authenticated user
- ☐ Administrator
Déplacez le bloc vers une autre région si nécessaire.
📍 Placer les blocs Views
Section intitulée « 📍 Placer les blocs Views »Les blocs créés dans Views apparaissent dans la liste des blocs disponibles.
Exemple : Produits récents dans Sidebar
Section intitulée « Exemple : Produits récents dans Sidebar »- Sidebar → Place block
- Recherchez “Produits récents”
- Sélectionnez le bloc Views correspondant
- Configurez :
- Title :
Nouveautés(ou utiliser celui de la vue) - Visibility → Pages :
/shop\n/shop/*
- Title :
Exemple : Marques dans Footer
Section intitulée « Exemple : Marques dans Footer »- Footer Top → Place block
- Recherchez “Marques” (bloc Views)
- Configurez :
- Display title :
☐(masquer) - Visibility : Toutes les pages
- Display title :
🔀 Réorganiser les blocs
Section intitulée « 🔀 Réorganiser les blocs »Par glisser-déposer
Section intitulée « Par glisser-déposer »- Utilisez les croix (✥) pour déplacer
- Déplacez entre régions ou réordonnez
- Save blocks
Via le poids (Weight)
Section intitulée « Via le poids (Weight) »Chaque bloc a un poids :
- Valeur basse → Haut de la région
- Valeur haute → Bas de la région
🖥️ Blocs par page spécifique
Section intitulée « 🖥️ Blocs par page spécifique »Page d’accueil
Section intitulée « Page d’accueil »Créez une mise en page spéciale pour la homepage :
| Région | Blocs |
|---|---|
| Highlighted | Hero slider (custom block) |
| Content | Vue “Produits populaires” |
| Content Below | Vue “Derniers articles” |
| Footer Top | Newsletter (custom block) |
Pages produit
Section intitulée « Pages produit »| Région | Blocs |
|---|---|
| Sidebar | Produits similaires |
| Content Below | Avis clients (vue) |
Pages boutique
Section intitulée « Pages boutique »| Région | Blocs |
|---|---|
| Sidebar | Filtres (exposed form) |
| Sidebar | Catégories menu |
📱 Responsive
Section intitulée « 📱 Responsive »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; }}🔧 Via Drush
Section intitulée « 🔧 Via Drush »# Lister les blocs placésdrush ev "print_r(array_keys(\Drupal::service('block.repository')->getVisibleBlocksPerRegion()));"
# Vider le cache des blocsdrush cc block📁 Configuration YAML
Section intitulée « 📁 Configuration YAML »Exemple de block.block.mainnavigation.yml :
langcode: frstatus: truedependencies: config: - system.menu.main module: - system theme: - oliveroid: olivero_main_navigationtheme: oliveroregion: primary_menuweight: 0provider: nullplugin: '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: falsevisibility: request_path: id: request_path negate: false pages: ''💾 Export
Section intitulée « 💾 Export »# Exporter la configuration des blocsdrush cex -y
# Fichiers générésls config/sync/block.block.*.yml✅ Checklist
Section intitulée « ✅ Checklist »- 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
🔜 Prochaine étape
Section intitulée « 🔜 Prochaine étape »Créons maintenant des Blocs personnalisés.