Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-06-2014 10:33:59

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

traduire les flashmessages

Bonjour,

J'essaye de traduire les flashMessages mais j'avoue avoir du mal à savoir ou le faire, je gère l'affichage dans le layout.phtml
Et je centralise les getMessages dans le onbootstrap de Application\Module.php.

Du coup dans le layout j'ai un array message selon le type (success, info, warning etc) et non pas un objet de type FlashMessage. (J'ai suivi cet approche car en utilisant l'objet flashMessage je n'arrivais pas a récupérer le namespace succès ou autre avec la méthode getNamespace bien que dans mon controller je faisait un setNamespace. Impossible dans la vue donc de rendre le truc dynamique...)

Voila si quelqu'un à une idée. de comment les traduire...ce serait sympa.

Quelques petits bout de code :

Code:

[lang=php]
//dans mon controller
$this->flashMessenger()->setNamespace('success')->addMessage('Your album has been added.');

Code:

[lang=php]
//dans Application\Module.php

 $eventManager->attach(MvcEvent::EVENT_RENDER, function($e) {
            $flashMessenger = new FlashMessenger;
     
            $messages = array();
     
            $flashMessenger->setNamespace('success');
            if ($flashMessenger->hasMessages()) {
                $messages['success'] = $flashMessenger->getMessages();
            }
            $flashMessenger->clearMessages();
            $e->getViewModel()->setVariable('flashMessages', $messages);
        });

Code:

[lang=php]
//dans layout.phtml
              if ($this->flashMessages) {
                    foreach ($this->flashMessages as $context => $messages) {
                      echo '<div class="alert alert-dismissable alert-' . $context . '">
                        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">
                             &times;
                         </button>
                      ';
                      foreach ($messages as $message) {
                        echo '<p>' . $message . '</p>';
                      }
                      echo '</div>';
                    }
                }

ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#2 11-06-2014 13:13:24

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: traduire les flashmessages

Salut pour le flashMessenger tu as déjà les méthodes pour les messages de succès, infos et erreurs : $this->flashMessenger()->addSuccessMessage(); $this->flashMessenger()->getSuccessMessages(); donc pas besoin d'utiliser de namespace pour ça c'est déjà géré wink.

Pour la traduction tu peux appeler $this->translate dans ta vue autour de $message logiquement si ton message correspond à un message traduit ça fonctionnera.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages