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

Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
fr:tutoriels:modules:jevent [2009/09/22 12:24] – créée foxmaskfr:tutoriels:modules:jevent [2012/01/31 12:32] – [Mise en place] foxmask
Ligne 1: Ligne 1:
 ====== Jelix et la Communication inter modules ====== ====== Jelix et la Communication inter modules ======
  
-Une //pépite// parmi tant d'autres que renferme Jelix, est //la communication inter module//.+A nugget among so many others contained Jelix, is  the internal communication between modules.
  
-**Mais qu'est-ce que cela ?**+**But what is this?**
  
-Il arrive que des modules aient besoin de communiquer entre eux  +Sometimes modules may need to communicate with each other or whether they need information from each other.
-ou qu'ils aient besoin d'informations des uns et des autres.+
  
-Imaginons un cas simple, une interface d'administration listant les modules (articles,wiki,news), présents sur son site favori.+Imagine a simple casean administrative interface that lists the modules (articles, wiki, news), present on his favorite site.
  
-La solution "Jelixienneconsiste à faire communiquer le module d'administration avec tous les autres.+The "Jelixiansolution is to make the administration module communicate with all the others.
  
-Le module d'administration va émettre un message et récupérera les réponses des modules.+The administration module will send a message and retrieve the responses of the modules.
  
-===== Mise en place =====+===== implementation =====
  
 +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)
  
-je ferai apparaitre ces infos sur une pages dédiées "Liste des modules".+So for that, I define a controller "modules" with one action index by default 
  
-Cette page sera constituée d'un template et les réponses des modules se feront à l'aide de zones  
  
-(**rappel**: les zones sont des portions de page) 
  
- +===== the controller =====
-Donc pour cela je défini un contrôleur "modules" avec une action "index" par défaut : +
- +
-===== le contrôleur =====+
  
 <code php> <code php>
Ligne 41: Ligne 36:
 </code> </code>
  
-la ligne intéressante ici est :+the interesting line of code  here is 
 <code php> <code php>
 $tpl->assign('modules',jEvent::notify('HfnuAboutModule')->getResponse());  $tpl->assign('modules',jEvent::notify('HfnuAboutModule')->getResponse()); 
 </code> </code>
  
-cette ligne fait choses en même temps : +This line makes things in same time :
- +
-  - 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.
  
-la ligne suivante indique à Jelix, le nom du template "module"qui affichera les données+the following line tell to Jelix, the name of the module, which will display the data :
 <code php> <code php>
 $rep->body->assign('MAIN',$tpl->fetch('modules')); $rep->body->assign('MAIN',$tpl->fetch('modules'));
Ligne 105: Ligne 99:
 </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.txt · Dernière modification : 2012/01/31 12:34 de foxmask

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