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. MelisEcomProductTable → melis_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/