
Ubercart est un module de boutique en ligne pour Drupal. Actuellement, il peut manquer des modules pour Drupal Ubercart 8.x (en date du 16 avril), mais ils apparaîtront bientôt, permettant de créer une boutique non plus sur Drupal 7, mais sur Drupal 8.
https://www.drupal.org/project/ubercart
Ubercart offre les fonctionnalités suivantes :


Ubercart s’installe comme un module classique :
Le premier bloc de modules est obligatoire pour l’installation :


Pour avoir un catalogue de catégories dans votre boutique Ubercart, vous devez activer le module Catalogue :
Avant d’activer le module Catalogue, il est préférable d’activer immédiatement les modules Produit, Boutique et Pays.
Après l’installation, vous disposerez d’un dictionnaire de sections de produits nommé Catalogue :
/admin/structure/taxonomy


Tout ce que nous avons analysé auparavant ressemblait aux versions précédentes de Drupal. Mais avec le développement, tout est différent. Bien que visuellement Drupal ressemble à Drupal 7, en interne Drupal est composé de composants Symfony, de ses propres composants ainsi que de nombreuses bibliothèques. Par conséquent, il faut se familiariser avec le nouveau système de plugins et maîtriser la programmation orientée objet (POO) en PHP.


Dans cet article, nous n’écrirons pas de code, mais nous allons préparer le terrain pour en écrire. Pour cela, nous allons installer Drush. Drush est un utilitaire en ligne de commande qui permet d’exécuter de nombreuses opérations courantes avec Drupal : mise à jour des modules, import/export de configuration, sauvegardes, et bien plus.
Si vous utilisez Open Server comme serveur web pour le développement, cette instruction vous conviendra :


Cet article a pour but de vous familiariser avec Drupal. Nous écrirons des exemples de code plus tard, après avoir ajouté notre module personnalisé.


Commençons la création de notre module par un peu d’organisation. Continuons à séparer les modules personnalisés (custom) et ceux contribué (contrib). Dans Drupal, les modules se trouvent dans le dossier /modules
. Aujourd’hui, il n’est plus nécessaire de les placer profondément dans /sites/all/modules
, mĂŞme si le readme indique que cela devrait fonctionner, utilisez plutĂ´t le dossier /modules
. À l’intérieur de ce dossier, nous allons créer deux sous-dossiers : custom
et contrib
.


Dans cette leçon, nous allons étendre les fonctionnalités de notre module et créer un contenu qui sera accessible uniquement aux utilisateurs enregistrés ou aux utilisateurs ayant un rôle spécifique.
Les exemples de code sont disponibles sur github :
https://github.com/levmyshkin/drupalbook8
Commençons par ajouter un nouveau fichier YML directement dans le dossier de notre module drupalbook :


En apprenant l’API Drupal, vous aurez souvent besoin de consulter la documentation principale sur https://api.drupal.org. Il s’agit de la documentation Drupal générée automatiquement. Elle contient toutes les informations sur chaque fonction, classe, méthode, où elles sont définies, ainsi qu’une description succincte. Ce site propose aussi une aide API, il est conseillé de se familiariser avec chacune des sections :


Nous pouvons utiliser les paramètres dans l’URL pour les routes. Ils fonctionnent comme les filtres contextuels dans Views. Par exemple, nous pouvons passer dans l’URL l’ID de différentes entités, des chaînes de texte ou des ID séquentiels séparés par des virgules ou des plus. Dans cette leçon, nous passerons l’ID d’un nœud et afficherons le titre et le corps de ce nœud dans le contenu.
Des exemples de code sont disponibles sur GitHub :
https://github.com/levmyshkin/drupalbook8
