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

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 3 - RequĂȘtes statiques (SELECT)

06/07/2025, by Ivan

La forme la plus gĂ©nĂ©rale d'une requĂȘte dans Drupal est la requĂȘte statique. Une requĂȘte statique sera transmise Ă  la base de donnĂ©es telle quelle. Seule la requĂȘte de sĂ©lection (select) peut ĂȘtre statique.

Il ne faut utiliser les requĂȘtes statiques que pour des requĂȘtes trĂšs simples. Vous devriez utiliser des requĂȘtes dynamiques si vous devez Ă©crire une requĂȘte complexe, créée dynamiquement ou modifiĂ©e aprĂšs exĂ©cution.

Une maniĂšre simple d’exĂ©cuter une requĂȘte statique est via la mĂ©thode query :

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 4 - RequĂȘtes dynamiques (SELECT)

06/07/2025, by Ivan

Nous sommes probablement arrivĂ©s Ă  la partie la plus intĂ©ressante de l'API Database de Drupal : les requĂȘtes dynamiques. Ces requĂȘtes sont dites dynamiques car Drupal gĂ©nĂšre dynamiquement la chaĂźne de la requĂȘte. Toutes les requĂȘtes d'insertion, mise Ă  jour, suppression ou fusion peuvent ĂȘtre dynamiques. Les requĂȘtes de sĂ©lection peuvent ĂȘtre dynamiques ou statiques. Toutefois, il est recommandĂ© d'utiliser des requĂȘtes dynamiques mĂȘme pour la sĂ©lection.

Travail avec la base de données dans Drupal 7 - leçon 5 - Extenders (Extensions)

06/07/2025, by Ivan

Les requĂȘtes de sĂ©lection supportent les extensions (extenders). Une extension permet d’ajouter des fonctionnalitĂ©s Ă  une requĂȘte de sĂ©lection lors de son exĂ©cution. Cette fonctionnalitĂ© peut ĂȘtre une mĂ©thode supplĂ©mentaire ou modifier le comportement d’une mĂ©thode existante.

Pour cela, des patterns de programmation orientée objet sont utilisés ; les extensions implémentent le Decorator Pattern. Elles ajoutent des responsabilités supplémentaires à un objet dynamique en fournissant une sous-classe alternative flexible pour la méthode étendue.

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 6 - Modification dynamique de requĂȘte (hook_query_alter)

06/07/2025, by Ivan

Une caractĂ©ristique importante des requĂȘtes dynamiques de sĂ©lection est la possibilitĂ© pour d’autres modules de modifier ces requĂȘtes Ă  la volĂ©e. Cela permet Ă  ces modules d’insĂ©rer leurs propres instructions dans la requĂȘte, influençant ainsi son comportement ou appliquant des modifications pendant l’exĂ©cution, par exemple pour gĂ©rer les droits d’accĂšs aux nƓuds. Trois composants interviennent dans la modification dynamique des requĂȘtes : les tags, les mĂ©ta-donnĂ©es et le hook hook_query_alter().

Travail avec la base de donnĂ©es dans Drupal 7 - leçon 7 - Traitement des rĂ©sultats de requĂȘte (fetch)

06/07/2025, by Ivan

Une requĂȘte de sĂ©lection retournera toujours un rĂ©sultat contenant zĂ©ro ou plusieurs enregistrements. Il existe plusieurs façons de traiter les donnĂ©es du rĂ©sultat que vous pouvez utiliser selon vos besoins.

Le plus souvent, les résultats sont utilisés dans une boucle foreach().

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.