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

Blog

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 8 - RequĂȘtes d’insertion (INSERT INTO)

06/07/2025, by Ivan

Les requĂȘtes d'insertion doivent toujours utiliser le constructeur de requĂȘtes. Certaines bases de donnĂ©es nĂ©cessitent des gestionnaires spĂ©cifiques pour les champs LOB (Large OBject, comme le texte dans MySQL) et BLOB (Binary Large OBject), d'oĂč l'importance du niveau d'abstraction pour que les pilotes DB implĂ©mentent ces gestionnaires.

Les requĂȘtes d'insertion commencent par l'utilisation de la fonction db_insert() :

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 9 - RequĂȘtes de mise Ă  jour (UPDATE)

06/07/2025, by Ivan

Les requĂȘtes de mise Ă  jour doivent toujours utiliser le constructeur de requĂȘtes. Les diffĂ©rentes bases de donnĂ©es ont des gestionnaires spĂ©cifiques pour les LOB (Large OBject, tels que TEXT dans MySQL) et les champs BLOB (Binary Large OBject), donc un niveau d’abstraction est nĂ©cessaire pour que les pilotes individuels implĂ©mentent leurs gestionnaires spĂ©cifiques.

Les requĂȘtes de mise Ă  jour commencent toujours par la fonction db_update() :

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 11 - RequĂȘtes de fusion (MERGE)

06/07/2025, by Ivan

Les requĂȘtes de fusion sont un type spĂ©cial hybride de requĂȘtes. Bien que la syntaxe pour ces requĂȘtes ait Ă©tĂ© dĂ©finie dans SQL 2003, en rĂ©alitĂ© aucune base de donnĂ©es ne supporte cette syntaxe. Cependant, la plupart des bases de donnĂ©es fournissent une implĂ©mentation alternative en utilisant une syntaxe spĂ©cifique. Le constructeur de requĂȘtes de fusion dans Drupal abstrait le concept de fusion de requĂȘte dans une structure objet, de sorte que cet objet peut ĂȘtre compilĂ© diffĂ©remment pour chaque base de donnĂ©es en tenant compte de ses spĂ©cificitĂ©s.

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 12 - Conditions des requĂȘtes (WHERE, HAVING, LIKE)

06/07/2025, by Ivan

La condition d’une requĂȘte permet de sĂ©lectionner uniquement les enregistrements rĂ©pondant Ă  certaines contraintes, par exemple les nƓuds créés depuis moins de deux semaines, les termes contenant le mot "drupal", etc. En SQL, on utilise WHERE et HAVING pour dĂ©finir des restrictions sur les requĂȘtes SELECT, UPDATE, DELETE. Dans les requĂȘtes dynamiques, un mĂ©canisme similaire existe pour gĂ©rer ces conditions, fonctionnant de la mĂȘme maniĂšre pour les trois types de requĂȘtes : sĂ©lection, mise Ă  jour, suppression.

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 :

De quoi est composé un module Drupal 7 ?

06/07/2025, by Ivan

Avant de commencer Ă  crĂ©er notre module, je vais vous parler un peu des possibilitĂ©s de l’API Drupal. L’API offre de larges fonctionnalitĂ©s pour travailler avec la taxonomie, les nƓuds, les utilisateurs, ainsi que pour l’entrĂ©e et la sortie depuis la base de donnĂ©es. Pour l’interaction entre les modules et le noyau de Drupal, ainsi qu’entre les modules eux-mĂȘmes, Drupal dispose d’un systĂšme de hooks. Un hook est un callback, c’est-Ă -dire qu’au moment oĂč l’exĂ©cution du code atteint un hook, le code de notre fonction ajoutĂ©e dans notre module est exĂ©cutĂ©.

Drupal 7 hook_block_info() et hook_block_view() : afficher des informations dans un bloc

06/07/2025, by Ivan

Dans la leçon précédente, nous avons créé un module pour Drupal 7, dans cette leçon nous allons continuer à étendre les fonctionnalités de notre module. Nous ajouterons l'affichage d'un bloc via le hook hook_block_view(), ainsi que hook_block_info(). Ce bloc contiendra des informations sur les derniers utilisateurs du site avec un lien vers leur page.

Je commence par décrire le hook_block_info() :

Il définit tous les blocs créés par le module.

Hook_menu Drupal 7 : création de pages via un module

06/07/2025, by Ivan

Dans la leçon précédente, nous avons vu comment afficher des informations depuis la base de données en utilisant l'API Drupal, notamment avec les hooks hook_block_info() et hook_block_view(). Dans cette leçon, nous allons afficher des pages, plus précisément utiliser le hook hook_menu pour connecter une page aux différentes parties de Drupal : menu, module de traduction, templates, etc.

hook_permission Drupal 7 : permissions d’accĂšs pour diffĂ©rents rĂŽles

06/07/2025, by Ivan

Lors des leçons prĂ©cĂ©dentes, nous avons affichĂ© des pages et des blocs Ă  diffĂ©rents endroits, en utilisant aussi les propriĂ©tĂ©s 'access arguments' et 'access callback' pour dĂ©finir des restrictions d’accĂšs aux pages. Dans cette leçon, nous allons crĂ©er une possibilitĂ© d’édition plus flexible des droits d’accĂšs aux opĂ©rations via des pages d’administration. Pour cela, nous utiliserons le hook_permission() (dans Drupal 6, c’était hook_perm()).