SP:Composant:Module

De Hegyd Doc.

(Différences entre les versions)
(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 ===
-
Un module sera enregistré dns la table '''module''', dont voici les champs:  
+
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 sera lié à un site par le bias d'ue table de jointure '''jModule_SiteClient''':  
+
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


Activation / Désactivation