SP:Composant:Module
De Hegyd Doc.
(Page créée avec « = 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-comme… ») |
(→base de données) |
||
| Ligne 7 : | Ligne 7 : | ||
=== base de données === | === base de données === | ||
| - | + | Le module est enregistré dans la table '''module''', dont voici les champs: | |
* ''moduleId'': identifiant | * ''moduleId'': identifiant | ||
| Ligne 14 : | Ligne 14 : | ||
* ''siteOptions'': s'il est rélié avec une option lié au [[SP:Composant:SiteClient#Packages_associ.C3.A9s|packages]]. | * ''siteOptions'': s'il est rélié avec une option lié au [[SP:Composant:SiteClient#Packages_associ.C3.A9s|packages]]. | ||
| - | Il | + | Il est '''lié à un site''' par le bias d'une table de jointure '''jModule_SiteClient''': |
* ''moduleId'' | * ''moduleId'' | ||
| Ligne 20 : | Ligne 20 : | ||
* ''status'': indique s'il est activé pour le client ou non. | * ''status'': indique s'il est activé pour le client ou non. | ||
| - | Le module pourra également avoir ses propres tables. Elle devront toutes être préfixées par '''{moduleCleanedName}'''. | + | |
| + | Une autre table permet de '''définir les pages''' qui devront être associées au module '''modulePages''', dont voici les 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 === | === Classes === | ||
Version du 16 juillet 2010 à 12:28
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, dont voici les 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:
- 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, dont voici les 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éthode génériques de gestion des modules.
Chaque module dispose ensuite de sa propre classe, nommée {moduleCleanedName}.
D'autres classes peuvent être associées au modules. Elle devront se trouver dans le répertoire lib/model/EasySite/modules/{moduleCLeanedName}/ dans un fichier {moduleCleandName}_ClassName.php et se nommer {moduleCleandName}_ClassName.
Autres éléments associés
- pages & contenu
- type de blocObject
- propriétés de styles
- pages d'administration permettant d'administrer le module
