logo

Types de blocs supplémentaires (EBT) – Nouvelle expérience de Layout Builder❗

Types de blocs supplémentaires (EBT) – types de blocs stylisés et personnalisables : diaporamas, onglets, cartes, accordéons et bien d’autres. Paramètres intégrés pour l’arrière-plan, la boîte DOM, les plugins JavaScript. Découvrez dès aujourd’hui le futur de la création de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplémentaires (EPT) – Nouvelle expérience Paragraphes

Types de paragraphes supplémentaires (EPT) – ensemble de modules basé sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement

Définition d’un thème via un fichier .info.yml

05/07/2025, by Ivan

Pour créer un thème Drupal 8, il faut d’abord créer un fichier THEMENAME.info.yml qui fournit les métadonnées de votre thème à Drupal. Cela ressemble à la manière dont sont définis les modules et les profils d’installation, il est donc important de définir la clé type dans le fichier .info.yml comme theme afin de bien le distinguer.

Cette page contient un exemple de fichier THEMENAME.info.yml et un aperçu des informations que ce fichier peut contenir.

Créer le fichier .info.yml

Créez un fichier .info.yml à la racine du dossier de votre thème. Le dossier doit porter le même nom que le fichier .info.yml. Par exemple, si votre thème s’appelle « Fluffiness », le dossier s’appellera « fluffiness/ » et le fichier .info.yml sera fluffiness/fluffiness.info.yml. Si le fichier existe avec les propriétés minimales requises (nom, type et core), votre thème apparaîtra dans votre site Drupal dans la section « Apparence » (http://example.com/admin/appearance). Veillez à choisir un nom de thème qui n’est pas déjà utilisé par un module ou un autre thème. Le nom du thème doit être unique dans la configuration Drupal. Sinon, les composants du thème ne seront pas correctement chargés.

Remplacez les espaces dans le nom du thème par des underscores dans le nom du dossier (et du fichier .info.yml).

Si vous ne connaissez pas la structure des fichiers YAML, lisez une brève introduction au format YAML.

  • Les tabulations NE SONT PAS autorisées. Utilisez UNIQUEMENT des espaces.
  • Les propriétés et listes DOIVENT être indentées avec deux (2) espaces.

Exemple

name: Fluffiness
type: theme
description: 'Un thème câlin offrant une douceur supplémentaire.'
core: 8.x
libraries:
  - fluffiness/global-styling
base theme: classy
regions:
  header: Header
  content: Content
  sidebar_first: 'Sidebar first'
  footer: Footer

Sur votre site Drupal, vous pouvez trouver d’autres exemples de fichiers .info.yml en consultant les thèmes fournis dans le cœur. Par exemple, ouvrez le dossier core/themes/stark et cherchez le fichier stark.info.yml.

Paires clé/valeur

Les paires clé/valeur suivantes fournissent les métadonnées de votre thème et définissent certaines fonctionnalités de base. (Voir \Drupal\Core\Extension\InfoParserInterface::parse())

name - nom (obligatoire)

Nom lisible par l’humain. Il apparaîtra sur la page « Apparence » où le thème sera activé.

name: Fluffiness

type - type (obligatoire)

Indique le type d’extension, c’est-à-dire « module », « theme » ou « profile ». Pour un thème, cela doit toujours être « theme ». Ce champ est sensible à la casse.

type: theme

description - description (optionnel)

Description affichée sur la page « Apparence ».

description: Un thème Drupal câlin supplémentaire disponible en gris et bleu.

package - paquet (optionnel)

Permet de définir un « paquet » pour regrouper les thèmes ensemble.

package: Core

core (obligatoire)

Définit la version du noyau Drupal avec laquelle le thème est compatible.

core: 8.x

php (optionnel)

Version minimale de PHP requise. Par défaut, la constante DRUPAL_MINIMUM_PHP est utilisée.

php: 5.5.9

version - version (optionnel)

Définit la version. Pour les thèmes hébergés sur drupal.org, ce numéro est rempli par un script de packaging. Ne le définissez pas manuellement, mais excluez complètement cette ligne si non nécessaire.

version: 8.x-1.0

libraries - bibliothèques (optionnel)

Liste des bibliothèques (contenant des ressources CSS et JS) à ajouter sur toutes les pages où le thème est actif. En savoir plus sur les thèmes et les bibliothèques de ressources.

libraries:
  - fluffiness/global-styling

libraries-override - remplacement de bibliothèques (optionnel)

Collection de bibliothèques et ressources à remplacer. En savoir plus sur le remplacement et l’extension des bibliothèques.

libraries-override:
  contextual/drupal.contextual-links:
    css:
      component:
        /core/themes/stable/css/contextual/contextual.module.css: false

libraries-extend - extension de bibliothèques (optionnel)

Collection de bibliothèques et ressources ajoutées lors de l’attachement d’une bibliothèque. En savoir plus sur le remplacement et l’extension des bibliothèques.

libraries-extend:
  core/drupal.user: 
    - classy/user1
    - classy/user2

base theme - thème de base (recommandé)

Un thème peut hériter des ressources d’un autre thème en le déclarant comme thème de base dans votre fichier info.yml. Il est recommandé d’utiliser « classy » ou « stable » (stable est la valeur par défaut si la clé n’est pas définie) — cela facilitera à votre thème d’hériter des futures modifications du thème de base.

base theme: classy

hidden (optionnel)

Indique si le thème doit être caché sur la page « Apparence », empêchant ainsi son activation/désactivation via l’interface utilisateur.

hidden: true

engine (optionnel)

Moteur de thème. Par défaut, c’est « twig ».

engine: twig

logo - logo (optionnel)

Voir la note de changement : https://www.drupal.org/node/2939152

Chemin vers le logo relatif au fichier .info.yml du thème. Par défaut, Drupal cherchera un fichier nommé « logo.svg » à la racine du dossier de votre thème et l’utilisera comme logo du thème.

logo: images/logo.png

screenshot - capture d’écran (optionnel)

Chemin vers la capture d’écran relatif au fichier .info.yml du thème. Les captures d’écran doivent faire 588 pixels de large par 438 pixels de haut, bien qu’elles s’affichent en plus petit. Par défaut, Drupal cherchera un fichier nommé « screenshot.png » à la racine du dossier de votre thème et l’utilisera comme image du thème sur la page « Apparence ».

screenshot: fluffiness.png

regions - régions (optionnel)

Liste des régions du thème. (Notez que les clés des régions ne sont pas précédées d’un tiret.) En savoir plus sur l’ajout de régions à un thème.

regions:
  header: Header
  content: Content
  sidebar_first: 'First sidebar'

regions_hidden (optionnel)

Liste des régions héritées à supprimer.

regions_hidden:
  - sidebar_last

features - fonctionnalités (optionnel)

Liste des fonctionnalités à afficher sur la page « Paramètres » du thème.

features:
  - comment_user_verification
  - comment_user_picture
  - favicon
  - logo
  - node_user_picture

stylesheets-remove - suppression de feuilles de style (non recommandé)

Liste des feuilles de style provenant d’autres modules ou thèmes à supprimer de toutes les pages où le thème est actif. Chaque valeur doit être un chemin complet relatif à la racine du document, afin d’éviter toute ambiguïté en cas d’existence de plusieurs fichiers portant le même nom. Lorsque le fichier fait partie d’une bibliothèque appartenant à un module ou thème, il est possible d’utiliser un token sous la forme @module_or_theme_name. Notez que lorsque vous utilisez un token, il doit être entre guillemets, car « @ » est un indicateur réservé dans YAML. Notez que cette clé est obsolète et sera supprimée dans Drupal 9. Dans la plupart des cas, il est préférable d’utiliser libraries-override.

stylesheets-remove:
  - core/assets/vendor/normalize-css/normalize.css
  - '@classy/css/components/tabs.css'

ckeditor_stylesheets (optionnel)

Liste des feuilles de style ajoutées dans l’iframe CKEditor.

ckeditor_stylesheets:
  - https://fonts.googleapis.com/css?family=Open+Sans
  - css/base/elements.css

Plus d’informations