Démarrer avec Drupal

Concepts Drupal

Versions

Release Date
version Date de sortie
[8.2.4][1] 07 décembre 2016
[7.53][2] 07 décembre 2016
[6.38][3] (non pris en charge) 24 février 2016
[5.23][4] (non pris en charge) 11 août 2010

Types d’entités

Dans les versions antérieures de Drupal, le système de champs n’était utilisé que sur les types de contenu. Maintenant, grâce à l’API Entity, nous pouvons ajouter des champs à d’autres choses, comme des commentaires. Les entités fieldables rendent Drupal éminemment flexible. Un type d’entité est une abstraction utile pour regrouper des champs. Vous trouverez ci-dessous les types d’entités dans le noyau Drupal :

  • Nœuds (contenu)
  • Commentaires
  • Des dossiers
  • Termes de taxonomie
  • Vocabulaires taxonomiques
  • Utilisateurs

Vous pouvez également créer de nouveaux types de types d’entités lorsque les options ci-dessus ne répondent pas à vos besoins.

Liasses

Les bundles sont une implémentation d’un type d’entité auquel des champs peuvent être attachés. Vous pouvez considérer les bundles comme des sous-types d’un type d’entité. Avec les nœuds de contenu (un type d’entité), par exemple, vous pouvez générer des ensembles (sous-types) comme des articles, des articles de blog ou des produits. Cependant, tous les types d’entités n’ont pas de bundles. Par exemple, les utilisateurs n’ont pas d’ensembles distincts (sous-types). Pour les types d’entités qui autorisent les bundles, vous pouvez créer autant de bundles (sous-types) que vous le souhaitez. Ensuite, en utilisant le système Field, vous pouvez ajouter différents champs à chaque bundle. Les exemples incluent un champ de téléchargement de fichier sur les pages de base et un champ de sous-titre sur les articles.

Des champs

Un champ est un élément de contenu réutilisable. En termes techniques, chaque champ est un type de données primitif, avec des validateurs et des widgets personnalisés pour l’édition et des formateurs pour l’affichage. Vous pouvez lire plus loin pour un guide du développeur sur l’utilisation de l’[API Drupal 7 Fields][5].

Ce qu’il est important de savoir en ce qui concerne les entités, c’est que les champs peuvent être ajoutés à n’importe lequel des groupes (ou types d’entités) pour aider à organiser leurs données.

Supposons, par exemple, que vous créiez un type de contenu avec un champ de texte non structuré et que vous utilisiez HTML pour en structurer certaines parties, comme une section de résumé ou des prix. Il serait alors plus difficile de contrôler la façon dont ceux-ci étaient affichés ou d’établir des liens entre différents types de contenu connexe.

C’est là que l’utilisation des champs est essentielle. Vous pouvez créer un champ récapitulatif de type Texte long ainsi que des champs de prix de type Décimal.

Entité

Une entité serait une instance d’un type d’entité particulier tel qu’un commentaire, un terme de taxonomie ou un profil d’utilisateur ou d’un ensemble tel qu’un article de blog, un article ou un produit.

Vous pouvez utiliser [entity_load][6] pour charger n’importe quelle entité. Notez cependant que le noyau ne fournit pas de fonction de sauvegarde ou de suppression, mais grâce au module [Entity API][7] les pièces manquantes sont ajoutées (entity_create(), entity_save(), entity_delete(), entity_view() et entity_access ()).

En mettant cela en termes de conception/programmation orientée objet…

Si vous venez d’un milieu OOD/P et que vous essayez de mieux comprendre quels sont ces concepts clés, la cartographie suggérée suivante pourrait vous aider (bien qu’elle ne soit pas strictement vraie du point de vue d’un puriste) :-

  • Un type d’entité est une classe de base
  • Un bundle est une classe étendue
  • Un champ est un membre de classe, propriété, variable ou instance de champ (selon votre préférence de nommage )
  • Une entité est un objet ou instance d’une base ou classe étendue

Tous ces quatre concepts OOD/P sont spéciaux en ce qu’ils sont sérialisables (stockés - par exemple dans une base de données ou un fichier). La sérialisation s’effectue via l’API Entity.

[1] : https://www.drupal.org/project/drupal/releases?api_version%5B%5D=7234 [2] : https://www.drupal.org/project/drupal/releases?api_version%5B%5D=103 [3] : https://www.drupal.org/node/3060/release?api_version%5B%5D=87&=Apply [4] : https://www.drupal.org/node/3060/release?api_version%5B%5D=78&=Apply [5] : http://drupal.org/node/443536 [6] : http://api.drupal.org/api/drupal/includes–common.inc/function/entity_load/7 [7] : http://drupal.org/project/entity

Installer Drupal avec Drush

drush dl drupal --drupal-project-rename=example
cd example
drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example

Installation de Drupal 8 avec Drupal Console

[Console Drupale][1]

La nouvelle CLI pour Drupal. Un outil pour générer du code passe-partout, interagir avec et déboguer Drupal.

Tout d’abord, nous devons installer Drupal Console.

Drupal Console est nécessaire non seulement pour cette fois, mais pour les installations futures.

# Run this in your terminal to get the latest project version:
curl https://drupalconsole.com/installer -L -o drupal.phar

# Or if you don't have curl:
php -r "readfile('https://drupalconsole.com/installer');" > drupal.phar

# Accessing from anywhere on your system:
mv drupal.phar /usr/local/bin/drupal

# Apply executable permissions on the downloaded file:
chmod +x /usr/local/bin/drupal

# Copy configuration files to user home directory:
drupal init --override

# Check and validate system requirements
drupal check

Vous pouvez appeler drupal list pour voir toutes les commandes disponibles.

À l’étape suivante, nous téléchargerons le code source de Drupal

drupal site:new

La console vous demandera de choisir un dossier pour télécharger Drupal. Et à l’étape suivante, il vous sera demandé de choisir la version de Drupal à télécharger. Je recommande de sélectionner le dernier.

Ainsi, lorsque Drupal est téléchargé, vous devez l’installer.

drupal site:install

Après quelques étapes simples, votre site Drupal sera prêt.

Avec cette méthodologie, une nouvelle installation de Drupal nous prend entre 5 et 7 minutes depuis la ligne de commande.

[1] : https://drupalconsole.com/