Skip to content

MelisDesign

Catalogue de design / bibliothèque de patrons pour le back-office : ~60 écrans HTML/JS prêts à l'emploi, construits sur le thème admin MelisCore. Paquet melisplatform/melis-design.

Présentation

MelisDesign ne fournit aucune base de données, aucun service et aucune logique métier — c'est une référence pure de vues et de ressources. Chaque page de démonstration est un contrôleur qui affiche un .phtml illustrant l'apparence d'un écran ou d'un widget donné avec le CSS de MelisCore déjà appliqué. Le flux de travail prévu est de trouver le design le plus proche dans le catalogue, de copier son balisage (et le JS si nécessaire) dans votre propre module, puis de le connecter à vos propres données. Comme l'indique le README : "All styles are already included with MelisCore. There is no need to look for CSS. Just find the HTML and JS if needed and start coding a plugin!"

Il dépend uniquement de melisplatform/melis-core (^5.2) pour le thème et les ressources.

Activation

Ajouter dans config/melis.module.load.php :

php
return [
    'MelisDesign',
];

melis-cms doit également être présent sur la plateforme.

Back-office

Le module apparaît comme un outil unique dans le back-office, listé sous meliscore_toolstree_section avec la melisKey meliscore_tool_creatrion_designs. Il s'affiche dans le menu de gauche sous HTML (melisdesign_cof), qui énumère l'ensemble des ~60 pages de démonstration. Cliquer sur une page affiche ce design en plein écran — en lecture seule, rien à configurer ni à enregistrer.

Les designs sont regroupés comme suit :

GroupeDémonstrations
Shells d'application & profilsDashboard · Profile / Resume · Portfolio · Edit Account · Social · Ratings
Support / communautéSupport Tickets · Forum Overview · Forum Post · Q&A Listing · Q&A Page · Knowledge Base · Survey
Commerce & financePricing Tables · Finances · Invoice · Bookings · Add Product · Products
Médical (démo verticale)Medical Overview · Patients · Appointments · Memos · Metrics
CartesGoogle Maps · Clustering · Extend · Filter · Search · JSON · Vector Maps
Médias & galeriesPhoto Gallery · Gallery Video · Carousel · Sliders
Données & mise en pageTables · Responsive Tables · Grid System · Charts · Calendar · Events · Contacts · Timelines · Widgets
Éléments UIButtons · Icons · Typography · Alerts & Notifications · Modals · Tabs
FormulairesForm Wizards · Form Elements · Form Validator
Fichiers & messagerieFile Manager · Inbox
Authentification & erreursLogin · Signup · Error

Le sous-menu HTML est déclaré dans config/app.interface.php ; chaque entrée forward vers son contrôleur. DesignSidebarController affiche la navigation de gauche et expose deux helpers AJAX : getDomAction() (retourne le DOM de la barre latérale via MelisCoreTool::getViewContent) et getResourceAction() (retourne la configuration des ressources d'un design depuis melisdesign/datas/<key> dans MelisCoreConfig).

Tables de base de données

Aucune. MelisDesign ne fournit aucun SQL d'installation ni aucun schéma de base de données.

Exemple

Réutiliser un design dans votre propre module — le flux de travail prévu :

php
// 1. Parcourez les Designs dans le BO (menu de gauche : HTML) et choisissez l'écran ou composant le plus proche.
// 2. Copiez le balisage .phtml dans la vue de votre outil :
//    vendor/melisplatform/melis-design/view/melis-design/<area>/*.phtml
// 3. Si le design nécessite un comportement JS, récupérez le fichier correspondant :
//    vendor/melisplatform/melis-design/public/js/<area>/*
// 4. Ignorez le CSS — MelisCore charge déjà toutes les classes requises.
// 5. Remplacez le contenu de démonstration par vos vraies données / liaisons.

Modèle de contrôleur (tous les contrôleurs de design suivent la même structure) :

php
// src/Controller/ButtonsIconsController.php
public function renderButtonsIconsAction()
{
    $melisKey = $this->params()->fromRoute('melisKey', '');
    $view = new ViewModel();
    $view->melisKey = $melisKey;
    return $view; // → view/melis-design/buttons-icons/…phtml
}

Fichiers clés

ÉlémentChemin
Un contrôleur par designvendor/melisplatform/melis-design/src/Controller/<Name>Controller.php
Balisage HTML à copiervendor/melisplatform/melis-design/view/melis-design/<area>/
JS optionnel par designvendor/melisplatform/melis-design/public/js/<area>/
Outil & liste des pages (menu de gauche)vendor/melisplatform/melis-design/config/app.interface.php
Routage + carte des contrôleursvendor/melisplatform/melis-design/config/module.config.php

Voir aussi : MelisCore