logo

Palette - Rendez-la colorée🎨

Palette — Constructeur de pages visuel, aucun diplôme en design requis.

Démo en direct Télécharger Palette

Défilement

Configuration de la page de profil Drupal

06/07/2025, by Ivan

Champs du profil

Notre contenu de profil reste quasiment vide. Ajoutons les champs d’information principaux, que j’appellerai les "Champs du profil". Cette étape demande une certaine réflexion pour identifier les champs nécessaires. Quelques exemples courants : à propos de moi, sexe, hobbies, travail. Pour définir des champs supplémentaires, il faut utiliser le module Profile2. En général, je regroupe tous les champs dans un fieldset. Vous pouvez ajouter des groupes de champs.

Drupal 7 - Travail avec la base de données via PHP PDO

06/07/2025, by Ivan

Avec la transition vers Drupal 7, nous passons à une nouvelle couche d'abstraction de base de données de Drupal, basée sur PDO. PDO est utilisé depuis longtemps dans le framework Zend ainsi que dans de nombreux autres frameworks PHP. Tout allait bien avec Drupal 6 en écrivant des requêtes SQL, alors pourquoi changer ?

Commençons par comprendre ce qu’est PDO.

Travail avec la base de données dans Drupal 7 - leçon 1 - API de base de données Drupal (db api)

06/07/2025, by Ivan

Si vous avez écrit des modules pour la version 6 de Drupal, la transition vers la nouvelle API base de données de Drupal 7 ne sera pas difficile pour vous. La nouvelle API DB repose sur l’extension PHP PDO, ce qui lui permet de fonctionner avec différentes bases de données comme MySQL, PostgreSQL, MSSQL, et possiblement Oracle. Concernant la facilité, il est difficile de se prononcer ; il faut s’habituer à la nouvelle syntaxe, car écrire des requêtes SQL directement est souvent plus naturel.

Voici un extrait de la documentation officielle :

Travail avec la base de données dans Drupal 7 - leçon 2 - Configuration de la base de données

06/07/2025, by Ivan

Le principal moyen de définir la connexion à la base de données est le tableau $databases dans settings.php. Comme son nom l’indique, $databases permet de définir plusieurs connexions à des bases de données. Il supporte également la définition de plusieurs cibles. La connexion n’est pas ouverte (l’objet connexion n’est pas créé) tant qu’un morceau de code n’a pas effectué une requête à la base pour la première fois.

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 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 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 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().