Fonctionnalités

  • Date estimée en champ supplémentaire de chaque type de produit, placé dans Gérer l’affichage ; le même HTML en cache pour tous, le compte à rebours et la date étant calculés dans le navigateur dans le fuseau de la boutique par défaut
  • Calendrier ouvré : heure limite par jour, jours de préparation de la boutique et par catégorie ou produit choisis par autocomplétion, jours de livraison et dates de fermeture, avec une plage quand le délai le plus court et le plus long diffèrent
  • Jours fériés nationaux de quinze pays calculés chaque année, fêtes de Pâques et jours de remplacement compris, présélectionnés d’après l’adresse de la boutique et décochables un par un
  • Volet « Livraison » à l’étape Informations de commande : l’estimation de la commande et une liste jour et créneau, créneaux complets désactivés, valeur envoyée revérifiée côté serveur
  • Pas de surréservation : chaque réservation insère une place numérotée sous clé primaire dans sa propre table, retenue pendant la commande et confirmée par la transition de validation
  • Dates affichées et créneau choisi enregistrés par commande, repris à la vérification, dans le reçu de Commerce, sur la vue d’administration de la commande et dans une colonne Livraison de la liste
  • Le client déplace son créneau depuis la page de sa commande avec un formulaire protégé par CSRF jusqu’au délai choisi ; l’équipe dispose d’une feuille de livraison quotidienne imprimable avec export CSV à jeton et permission dédiée
  • Fonctionne sans Commerce Shipping ; réglages dans un seul objet de configuration exportable avec schéma ; anglais, espagnol et français

Un client veut savoir quand son colis sera chez lui, et un vague « expédié sous 2 à 4 jours » ne le lui dit pas. Les boutiques qui livrent avec leur propre camionnette doivent en plus laisser choisir un jour et une heure sans promettre plus de tournées qu’elles n’en ont. Drupal Commerce ne propose ni l’un ni l’autre. Ce module calcule une date estimée à partir de votre calendrier réel, permet de réserver un créneau à la commande et garde l’engagement avec chaque commande.

Intégration à Drupal Commerce

Versions
Drupal 11.3, Commerce 3.x (Cart, Checkout, Order, Product, Store) et PHP 8.3, testé avec Olivero et Claro. Commerce Shipping n’est pas requis : une seule règle s’applique à toutes les commandes.
Administration
Commerce › Configuration › Boutique › Date de livraison estimée et créneaux, un formulaire ConfigFormBase avec sa propre permission, et Commerce › Feuille de livraison avec une seconde.
Catalogue
Un champ supplémentaire sur l’affichage des produits, mis en cache avec l’étiquette de la configuration ; Big Pipe et le cache interne de pages servent toujours un seul HTML à tout le monde.
Parcours de commande
Un plugin CommerceCheckoutPane placé à l’étape Informations de commande de chaque parcours, avec un résumé à la vérification. Les places sont confirmées sur commerce_order.place et libérées à l’annulation ou à la suppression.
Commandes et e-mail
La vue d’administration de la commande, la page de commande du client (commerce-order--user), un champ Views dans la liste des commandes et le reçu via hook_mail_alter.

Installation

  1. Étape 1

    Téléchargez le zip dans Mon compte › Téléchargements sur ecom-addons.com et décompressez-le dans modules/custom/.

  2. Étape 2

    Activez-le dans Extension ou avec drush en ecom_addons_delivery_date, puis attribuez les deux permissions.

  3. Étape 3

    Vérifiez les heures limites et les jours fériés dans les réglages et, si vous livrez vous-même, saisissez vos créneaux, par exemple 09:00-14:00 x5, 16:00-20:00 x3.

Téléchargez le guide pas à pas (PDF)

FAQ

Faut-il Commerce Shipping ?

Non. Sans lui, toutes les commandes suivent une règle ; des règles par mode de livraison viendront plus tard.

Deux clients peuvent-ils prendre le dernier créneau en même temps ?

Non. Une place est une ligne sous clé primaire : une seule des deux insertions réussit et l’autre client est invité à choisir à nouveau.

D’où viennent les téléphones de la feuille ?

Du premier champ téléphone du profil de facturation ; ajoutez-en un au type de profil Customer avec le module Telephone du cœur.

Le cache de pages affiche-t-il la date de la veille ?

Non. La page contient les règles et le navigateur du visiteur choisit la date : une page en cache reste juste le lendemain.

Historique des versions

  1. Chargement…

Avis

Chargement…