SP:Composant:Module
De Hegyd Doc.
(→Classes) |
(→Classes) |
||
| Ligne 37 : | Ligne 37 : | ||
* activate() / desactivate() | * activate() / desactivate() | ||
| - | Chaque module dispose ensuite de sa propre classe, nommée '''{moduleCleanedName}''', qui comprends se propres méthodes. | + | Chaque module dispose ensuite de sa propre classe, nommée '''{moduleCleanedName}''', qui comprends se propres méthodes. Ces méthodes pourront être utilisées dans les templates et controleurs des blocObjects associé au module. |
| - | + | ;Exemple: méthode getNewsList(), AddNews(),deleteNews()... pour un module actualités | |
| - | + | D'autres classes peuvent être associées au module pour le compléter. Elle devront se trouver dans le répertoire '''lib/model/EasySite/modules/{moduleCLeanedName}/''' dans un fichier '''{moduleCleandName}_ClassName.php''' et se nommer '''{moduleCleandName}_ClassName''' (sans cette syntaxe, elle ne pourront pas être chargé via lautoload de l'application). | |
| - | + | ||
| - | D'autres classes peuvent être associées au | + | |
=== Autres éléments associés === | === Autres éléments associés === | ||
Version du 16 juillet 2010 à 13:00
Sommaire |
Les modules
Un module permet d'étendre les fonctionnalités primaire de l'éditeur, en ajoutant par exemple un système de gestion d'actualités, ou un support e-commerce.
Implémentation
base de données
Le module est enregistré dans la table module, ses champs:
- moduleId: identifiant
- modeleName: nom du module
- modeuleCleanedName: nom du module sans caractères spéciaux. Servira pour nommer les répertoires associés.
- siteOptions: s'il est rélié avec une option lié au packages.
Il est lié à un site par le bias d'une table de jointure jModule_SiteClient, ses champs:
- moduleId
- siteClientId
- status: indique s'il est activé pour le client ou non.
Une autre table permet de définir les pages qui devront être associées au module modulePages, ses champs:
- modulePageId: identifiant
- moduleId: identifiant du module
- modulePageName: nom de la page
- urlPattern: expression réulière permettant de reconnaitre la page à partir d'une url
Le module pourra également avoir ses propres tables. Elle devront toutes être préfixées par {moduleCleanedName}.
Classes
La classe Module contient les méthodes génériques de gestion des modules:
- activate() / desactivate()
Chaque module dispose ensuite de sa propre classe, nommée {moduleCleanedName}, qui comprends se propres méthodes. Ces méthodes pourront être utilisées dans les templates et controleurs des blocObjects associé au module.
- Exemple
- méthode getNewsList(), AddNews(),deleteNews()... pour un module actualités
D'autres classes peuvent être associées au module pour le compléter. Elle devront se trouver dans le répertoire lib/model/EasySite/modules/{moduleCLeanedName}/ dans un fichier {moduleCleandName}_ClassName.php et se nommer {moduleCleandName}_ClassName (sans cette syntaxe, elle ne pourront pas être chargé via lautoload de l'application).
Autres éléments associés
- pages & contenu, définies via l'interface d'aministration des modules.
- type de blocObject (méthodologie pour créer des types de blocObject).
- propriétés de styles
- pages d'administration permettant d'administrer le module
