
Boutique en ligne sur Drupal 8 - Drupal Commerce
Cela fait deux ans depuis la première de Drupal 8. Nous nous sommes déjà habitués aux différences entre les versions 7 et 8, et de nombreux sites Web ont été créés sur la base de D8. De nombreux sites Web basés sur Drupal 7 sont des applications qui utilisent Drupal Commerce – un module e-commerce pour Drupal. Beaucoup d'applications ont été installées avec la distribution Commerce Kickstart, qui était basée sur cet add-on. Quelle est la façon de le faire avec D8 ? Pendant longtemps, seule la version alpha était disponible, ensuite une version bêta a été publiée. Le 20 septembre 2017, nous avons assisté à la sortie de la version 2.0. À ce jour, la version actuelle est la 2.9. Nous verrons ce qui est nouveau dans DC et comment cela fonctionne avec D8. À des fins de test, nous allons utiliser DC 2.9 et Drupal 8.5.9 avec la distribution Droopler (une distribution Drupal créée par nous pour construire des sites web d'entreprise).
Configuration et exigences
Selon le manuel, il est recommandé d'installer Drupal en utilisant Composer; l'installation nécessite Drupal 8.5 ou plus récent. Nous n'avons eu aucun problème avec le processus d'installation. Pour installer le dernier DC, nous avons utilisé la commande suivante :
composer require "drupal/commerce"
DC nécessite plusieurs modules supplémentaires (Address, Entity, Inline Entity Form, Entity Reference Revisions, Profile, State Machine). En utilisant Composer, vous n'avez pas besoin de vous soucier de les installer manuellement, car ils seront ajoutés automatiquement. Après une installation réussie, la liste des modules s'enrichira de 12 nouvelles entrées.
Fonctionnalité, modules et innovations
Nous avons lancé tous les modules à des fins de test. L'icône Commerce est apparue sur notre menu principal. À première vue, vous pouvez voir un certain nombre d'options qui n'étaient pas incluses dans la version standard pour D7. Cela inclut :
- Types de magasins
- Attributs de produit
- Promotions
- Types de commande
- Types d'articles de commande
- Flux de paiement
- Types de variation de produit.
Magasin et types de magasins
Il vous permet de définir les types de magasins de votre site Web, "en ligne" est ajouté par défaut. L'ajout de plus de types de magasins peut être utile si vous avez un réseau de magasins physiques ou de succursales dans différents pays. Ces magasins peuvent avoir une offre spécifique à chaque pays mais utilisent la même base de données de tous les produits conservés en un seul endroit. Vous devez vous rappeler qu'un produit peut appartenir à un ou plusieurs magasins ; cependant, une commande passée par l'utilisateur est toujours attribuée à un magasin.
Une autre option intéressante est la possibilité de créer des magasins par les utilisateurs sur votre site Web, permettant aux vendeurs d'ouvrir leurs magasins en ligne sur votre plateforme, ainsi que de créer et de vendre leurs propres produits, comme ETSY. Vous pouvez en savoir plus sur cette fonctionnalité dans la documentation de Drupal Commerce.
Attributs de produit
Vous permet d'ajouter des attributs à vos produits. Il existe trois options d'affichage disponibles : liste déroulante, bouton radio et attribut rendu. Ces attributs peuvent être assignés à des types et utilisés lors de l'ajout de nouveaux produits.
Promotions
DC vous fournit un sous-module qui vous permet d'ajouter des bonus et des réductions. Le rabais peut être défini pour des produits spécifiques ou pour l'ensemble de la commande. Le rabais peut être soit un montant fixe, soit un pourcentage, et ils peuvent être assignés à un rôle, une adresse de livraison ou une adresse e-mail. Vous pouvez également limiter les promotions et les offres spéciales à une valeur de commande maximale ou à une devise. De plus, vous avez la possibilité d'ajouter des dates de début et de fin, de limiter le nombre d'utilisations et de décider si un rabais peut être combiné avec d'autres promotions. Il faut admettre que c'est un grand avantage. Comparé à d'autres systèmes de e-commerce, ce sont des choses qui devraient déjà être standard. Dans D7, ce n'était pas si évident, et cela pouvait causer un vrai mal de tête.
Types de commandes
Une autre nouveauté dans DC est une nouvelle approche des commandes. Vous pouvez désormais créer plusieurs types de commandes avec différents parcours d'achat, ou même afficher un panier d'achat d'une manière différente. C'est une solution assez intéressante et elle sera certainement utile pour des projets plus complexes, où les produits nécessitent une approche commerciale différente. Chaque type peut avoir ses propres champs uniques et méthodes de rendu.
Flux de paiement
Comme mentionné ci-dessus, en plus des types de commandes, vous pouvez configurer de nombreux parcours d'achat différents. Ils peuvent varier en fonction du type de commande passée. Le processus de commande complet est affiché à l'aide de plug-ins. Par défaut, vous pouvez profiter de Multistep ; cependant, vous pouvez ajouter votre propre plug-in et l'utiliser, par exemple, pour l'un des plusieurs parcours d'achat. C'est une approche assez intéressante, grâce à laquelle vous n'aurez pas à modifier le parcours par défaut unique. Vous pouvez consulter comment créer votre propre plug-in de flux ici : https://docs.drupalcommerce.org/commerce2/developer-guide/checkout/create-custom-checkout-flow
Types d'articles de commande
On pourrait dire que c'est quelque chose comme “Line item” de D7 – un article qui stocke les données de commande et les produits, vous pouvez également définir vos propres champs pour stocker d'autres informations.
Commerce 8 en action
Voyons comment fonctionne le commerce en pratique.
Ajout d'un produit
Comme vous pouvez le voir, vous pouvez utiliser les attributs et les variations des produits que vous avez créés plus tôt. Ajoutons un produit avec plusieurs options à choisir.
Fiche produit

Panier
Le panier standard est un bloc avec des vues, qui peut être facilement et librement configuré, comme dans D7.
Paiements
Nous avons inclus les paiements de test par défaut disponibles dans le module dans le cadre de nos tests. Si vous souhaitez utiliser une passerelle prête à l'emploi, vous pouvez choisir :
PayPal - https://www.drupal.org/project/commerce_paypal - beta1
Tpay - https://www.drupal.org/project/commerce_tpay - rc2
Expéditions
Vous pouvez profiter d'un module de livraison – Commerce Shipping beta4.
https://www.drupal.org/project/commerce_shipping
Il est intégré avec le modèle physique, grâce auquel vous pouvez utiliser la conversion automatique des tailles et des échelles pour le coût final d'expédition.
En ce qui concerne l'intégration des expéditions, je n'ai trouvé qu'une version Alpha3 pour FedEx.
https://www.drupal.org/project/commerce_fedex
En outre, les développeurs de DC ont utilisé le module Address.
Les champs de l'adresse sont pris en charge pour plus de 200 pays. Ils incluent des emplacements, régions, voïvodies, Länder et ainsi de suite de la plupart des pays du monde. De plus, vous pouvez créer des "zones d'adresse" personnalisées et attribuer des propriétés spéciales telles que des prix de livraison spéciaux, taxes, etc.
Résumé
Drupal Commerce dispose de nombreuses fonctions de base et de nombreuses innovations intéressantes opérationnelles et fonctionnelles, ce qui est, bien sûr, un énorme avantage. De plus, les développeurs ont décidé de fournir aux utilisateurs plus d'options de configuration par défaut, comparé à la version D7. Un constructeur de site typique pourrait rencontrer des difficultés pour construire un magasin pour un client, en raison de l'absence de modules D7 et du fait que la majorité d'entre eux est en version alpha ou bêta, ce qui signifie qu'ils peuvent être instables. Si vous ne développez pas de modules avancés pour le D8, cela peut être un énorme obstacle, sinon, vous devrez probablement les développer vous-même.
Ce qui était génial avec DC était le fait que nous avons pu configurer et paramétrer les fonctions de base de notre magasin en un temps court sans aucun problème. De plus en plus de modules sont publiés, et un grand nombre d'entre eux sont déjà disponibles en versions stables. C'est pourquoi la combinaison de Drupal 8 et Drupal Commerce est un outil qui offre de nombreuses possibilités pour mettre en œuvre des projets intéressants.
Vous pourriez vous demander si vous devez opter pour une combinaison de Commerce éprouvée avec D7 ou essayer les innovations introduites dans D8.
La réponse est... Cela dépend du projet, de vos ressources de développement, ainsi que du temps et du budget pour développer des éléments qui ne sont pas disponibles ou qui ne fonctionnent pas correctement avec D8. Il convient de mentionner que les pages basées sur Drupal Commerce reçoivent régulièrement un SPLASH AWARD. Depuis 2014, le concours nomme les meilleurs sites Drupal. Plus d'informations à ce sujet ici : https://www.emerce.nl/wire/frmwrk-wint-tweede-prijs-drupal-splash-awards
Cependant, à ce jour, le projet semble prometteur et nous croisons les doigts pour le développement futur de Commerce. Si vous avez besoin de plus d'informations sur DC, n'hésitez pas à visiter
- Documentation : https://docs.drupalcommerce.org/
- Notre article de blog sur les attributs de commerce Drupal
- Consultez notre offre de services Drupal Commerce
Nous vous encourageons également à lire d'autres articles sur notre blog !