developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Opened 7 years ago

Closed 7 years ago

#1489 closed bug (invalid)

Fonctionnement inhabituel de jMessage si utilisé dans le contrôleur d'une zone

Reported by: loicc Owned by:
Priority: normal Milestone:
Component: jelix:utils Version: 1.4.1
Severity: normal Keywords: jmessage, zone
Cc: Blocked By:
Blocking: Documentation needed: no
Hosting Provider: Php version: 5.4.3

Description

Le comportement se reproduit dans le cas d'un jMessage::add() placé dans le contrôleur d'une zone.

Dans ce cas, le contenu du message n'arrivera pas jusqu'au template.

Une fois dans le template de la zone, un {jmessage} est remplacé par le code html habituel, y compris l'application d'une classe css portant le nom du groupe de messages auquel le message courant a été associé.

Mais le texte du message en lui-même est absent.

Change History (2)

comment:1 Changed 7 years ago by laurentj

  • Component changed from modules to jelix:utils

Un exemple de code serait plus explicite. je viens de faire un test, ça fonctionne parfaitement.

class sommaireZone extends jZone {
   protected $_tplname='sommaire';
   protected function _prepareTpl(){
        jMessage::add('hello');
    }
}

sommaire.tpl:
<h2>Contents</h2>
{jmessage}

C'est quoi pour toi un "contrôleur de zone" ?

Donc

  • soit le jMessage::add() est en fait exécuté après l’exécution du template
  • soit jMessage a déjà été traité par un {jmessage} d'un autre template.
  • soit la zone a son cache activé, auquel cas le jMessage::add() n'est pas appelé si le contenu est en cache.

comment:2 Changed 7 years ago by laurentj

  • Resolution set to invalid
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.