Skip to content

Commerce

melis-commerce ajoute un domaine e-commerce complet à Melis : catalogue, clients, panier, checkout et commandes — exposés à la fois comme tools backoffice et plugins front-office. Cette page est une carte pour s'orienter ; lisez le src/Service/ du module pour l'API exacte et à jour.

Modèle du domaine

Les concepts principaux (entités sous melis-commerce/src/Entity/, tables préfixées melis_ecom_*) :

DomaineConceptsTables (exemples)
CatalogueProduit, Variante (SKU vendable), Catégorie, Attribut & valeursmelis_ecom_product, melis_ecom_variant, melis_ecom_category, melis_ecom_attribute
TarifsPrix par variante/produit × pays × devise × groupe clientmelis_ecom_price, melis_ecom_client_groups
ClientsClient (compte), personne du client, adressesmelis_ecom_client, melis_ecom_client_person
PanierPaniers anonyme & persistantmelis_ecom_basket_anonymous, melis_ecom_basket_persistent
CommandesCommande + adresses, paiement, livraison ; retoursmelis_ecom_order, melis_ecom_order_address, melis_ecom_order_payment
PromotionsCoupons (restreints produit/client)melis_ecom_coupon, melis_ecom_coupon_product
LocalisationPays, Devisemelis_ecom_country, melis_ecom_currency
MédiasDocuments (images/PDF)melis_ecom_document

Les services à utiliser

Tous enregistrés dans melis-commerce/config/module.config.php (service_manager.aliases). Les principaux :

  • Catalogue : MelisComProductService, MelisComVariantService, MelisComCategoryService, MelisComAttributeService, MelisComPriceService, MelisComProductSearchService, MelisComDocumentService.
  • Panier & checkout : MelisComBasketService, MelisComOrderCheckoutService, MelisComOrderService, MelisComShipmentCostService, MelisComPostPaymentService, MelisComOrderProductReturnService.
  • Clients : MelisComClientService, MelisComAuthenticationService, MelisComContactService, MelisComClientGroupsService.
  • Config : MelisComCouponService, MelisComCurrencyService, MelisComSeoService.
php
$products = $sm->get('MelisComProductService');
$orders   = $sm->get('MelisComOrderService');

Chaque service repose sur une couche de données MelisEcom*Table (p. ex. MelisEcomProductTablemelis_ecom_product).

Dans le backoffice

MelisCommerce enregistre un ensemble de tools Commerce : produits & variantes, catégories, attributs, commandes, clients, coupons, devises/pays, documents et réglages — construits comme n'importe quel tool backoffice.

Sur le front office

Commerce fournit un large jeu de plugins de templating (à déposer dans les pages — voir Plugins) couvrant toute la boutique :

  • Catalogue : MelisCommerceProductShowPlugin, MelisCommerceProductListPlugin, MelisCommerceProductSearchPlugin, MelisCommerceCategoryProductListPlugin, MelisCommerceRelatedProductsPlugin.
  • Compte : MelisCommerceLoginPlugin, MelisCommerceRegisterPlugin, MelisCommerceAccountPlugin, MelisCommerceProfilePlugin, plugins d'adresses livraison/facturation.
  • Panier & checkout : MelisCommerceAddToCartPlugin, MelisCommerceCartPlugin, MelisCommerceCheckoutPlugin (+ étapes cart / coupon / addresses / summary / confirm).
  • Commandes : MelisCommerceOrderHistoryPlugin, MelisCommerceOrderPlugin, MelisCommerceOrderReturnProductPlugin.

…plus des widgets de dashboard (nombre de commandes, chiffre d'affaires, messages de commande).

Une boutique s'assemble donc surtout en plaçant ces plugins sur des pages CMS et en les stylant dans les vues de votre module de site.

Facturation

melis-commerce-order-invoice étend commerce avec la génération de factures PDF (via Spipu/Html2Pdf) : un service de facture + table (melis_ecom_order_invoice), le téléchargement backoffice, et des listeners qui injectent l'UI de facture dans les vues de commande.

Fichiers clés

SujetChemin
Servicesvendor/melisplatform/melis-commerce/src/Service/
Entitésvendor/melisplatform/melis-commerce/src/Entity/
Schémavendor/melisplatform/melis-commerce/install/sql/setup_structure.sql
Plugins frontvendor/melisplatform/melis-commerce/src/Controller/Plugin/
Facturationvendor/melisplatform/melis-commerce-order-invoice/