Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste :

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:tutoriels:modules:jevent [2012/01/31 12:32] – [Jelix et la Communication inter modules] foxmaskfr:tutoriels:modules:jevent [2012/01/31 12:34] (Version actuelle) foxmask
Ligne 1: Ligne 1:
 ====== Jelix et la Communication inter modules ====== ====== Jelix et la Communication inter modules ======
  
-A nugget among so many others contained Jelix, is  the internal communication between modules.+//(version de Jelix supportée 1.1.x)//
  
-**But what is this?**+Une //pépite// parmi tant d'autres que renferme Jelix, est //la communication inter module//.
  
-Sometimes modules may need to communicate with each other or whether they need information from each other.+**Mais qu'est-ce que cela ?**
  
-Imagine a simple case, an administrative interface that lists the modules (articles, wiki, news), present on his favorite site.+Il arrive que des modules aient besoin de communiquer entre eux  
 +ou qu'ils aient besoin d'informations des uns et des autres.
  
-The "Jelixian" solution is to make the administration module communicate with all the others.+Imaginons un cas simple, une interface d'administration listant les modules (articles,wiki,news), présents sur son site favori.
  
-The administration module will send a message and retrieve the responses of the modules.+La solution "Jelixienne" consiste à faire communiquer le module d'administration avec tous les autres. 
 + 
 +Le module d'administration va émettre un message et récupérera les réponses des modules.
  
 ===== Mise en place ===== ===== Mise en place =====
  
-A nugget among so many others contained Jelix, is  the internal communication between modules. 
  
-But what is this?+je ferai apparaitre ces infos sur une pages dédiées "Liste des modules".
  
-Sometimes modules may need to communicate with each other or whether they need information from each other.+Cette page sera constituée d'un template et les réponses des modules se feront à l'aide de zones 
  
-Imagine a simple case, an administrative interface that lists the modules (articles, wiki, news), present on his favorite site.+(**rappel**: les zones sont des portions de page)
  
-The "Jelixian" solution is to make the administration module communicate with all the others. 
  
-The administration module will send a message and retrieve the responses of the modules.+Donc pour cela je défini un contrôleur "modules" avec une action "index" par défaut :
  
- +===== le contrôleur =====
-This page will be made of one template and the responses of modules will be made with the help of Zones (Remind : the Zones are part of page) +
- +
-So for that, I define a controller "modules" with one action index by default  +
- +
- +
-===== the controller =====+
  
 <code php> <code php>
Ligne 48: Ligne 43:
 </code> </code>
  
-the interesting line of code  here is +la ligne intéressante ici est :
 <code php> <code php>
 $tpl->assign('modules',jEvent::notify('HfnuAboutModule')->getResponse());  $tpl->assign('modules',jEvent::notify('HfnuAboutModule')->getResponse()); 
 </code> </code>
  
-This line makes things in same time :+cette ligne fait choses en même temps : 
 + 
 +  - elle émet un message nommé **HfnuAboutModule** 
 +  - elle récupère les données du message émis 
 +  - elle assigne ses données à la variable "modules" du template.
  
-  - it sends a message named **HfnuAboutModule** 
-  - it get the data returned by the sent message 
-  - it assigns the data to the variable "modules" of the template. 
  
-the following line tell to Jelix, the name of the module, which will display the data :+la ligne suivante indique à Jelix, le nom du template "module"qui affichera les données
 <code php> <code php>
 $rep->body->assign('MAIN',$tpl->fetch('modules')); $rep->body->assign('MAIN',$tpl->fetch('modules'));
Ligne 111: Ligne 107:
 </code> </code>
  
-lorsque **HfnuAboutModule** est déclenché, alors **onHfnuAboutModule** entre en oeuvre et répond à l'event (via $event->add())+lorsque **HfnuAboutModule* est déclenché, alors **onHfnuAboutModule** entre en oeuvre et répond à l'event (via $event->add())
  
 $event->add() peut recevoir tout type de données. Ici nous lui retournons une zone ([[fr:tutoriels:modules:generic1|que nous avons précédemment abordés dans mes 2 précédants articles]]) nommée "about" $event->add() peut recevoir tout type de données. Ici nous lui retournons une zone ([[fr:tutoriels:modules:generic1|que nous avons précédemment abordés dans mes 2 précédants articles]]) nommée "about"

fr/tutoriels/modules/jevent.1328013127.txt.gz · Dernière modification : 2012/01/31 12:32 de foxmask

Fils rss des changements récents dans le wiki Creative Commons License