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

Créer un module Drupal, démarrage rapide

06/07/2025, by Ivan

Commençons par api.drupal.org, ouvrez la page du hook hook_node_presave(), qui s’exécute avant l’ajout d’un nœud.

http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_node_validate/7

Les hooks nous permettent d’intégrer notre code dans le flux normal de Drupal, pour ajouter des validations, des champs, des éléments de formulaire, etc.

Ajoutons notre module dans le dossier sites/all/modules :

sites/all/modules/custom/

sites/all/modules/custom/custom.info

sites/all/modules/custom/custom.module

Dans le fichier custom.info, écrivez :

name = Custom
description = Custom
core = 7.x

Dans le fichier custom.module, nous faisons une vérification pour s’assurer que le champ contenu n’est pas vide. Si le champ est vide, une erreur sera affichée (même si on pourrait aussi simplement rendre le champ obligatoire dans l’administration Drupal) :

custom.module

<?php

function custom_node_validate($node){
  if (empty($node->body['und'][0]['value'])) {
    form_set_error('node-body', 'Le champ contenu est vide');  // Affiche une erreur et empêche la sauvegarde du nœud
  }
}

Dans notre cas, quand le site utilise une seule langue, et que c’est 'und' (undefined, indéfini), on vérifie la première textarea du champ body (car on peut avoir un nombre illimité de textarea pour un champ).

Utilisez le module devel et sa fonction dsm() pour afficher à l’écran une impression d’un objet ou d’un tableau :

<?php

function custom_node_view($node){
  dsm($node);
}