Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-01-2008 00:10:57

dividy
Membre
Date d'inscription: 21-01-2008
Messages: 21

Help :p

Hello,

J'ai un ptit soucis avec zend..

J'ai l'impression qu'il perd les infos du Registry après un "this->_redirect" effectué dans une action.

Je vous explique : J'ai un controller "Lang" avec les actions "fr" et "en".

J'ai donc 2 liens /lang/fr et /lang/en sur ma page d'accueil.

J'avais pensé utiliser Zend_Registry pour stocker la langue choisie et apparemment ça se fait bien sauf qu'après je suis obligé de faire un this->_redirect pour revenir sur la page d'accueil et on dirait bien qu'après ce redirect, les informations ne sont plus contenues dans le Zend_Registry, qqun en sait plus ?

J'ai également tenté avec les Namespaces (sessions), sans grand résultat... Quid ?


In Zend, I Trust

Hors ligne

 

#2 22-01-2008 03:09:10

dividy
Membre
Date d'inscription: 21-01-2008
Messages: 21

Re: Help :p

C'est bon j'ai trouvé merci.

<?php
/** Zend_Controller_Action */
require_once 'Zend/Controller/Action.php';

class LangController extends Zend_Controller_Action
{

    public function init()
    {
        $this->_helper->viewRenderer->setNoRender(true);
    }
   
    public function frAction()
    {
        $namespace=Zend_Registry::get('namespace');
        $namespace->lang='fr';
        Zend_Registry::set('namespace',$namespace);
        $this->_redirect('/index',array());
    }

    public function enAction()
    {
        $namespace=Zend_Registry::get('namespace');
        $namespace->lang='en';
        Zend_Registry::set('namespace',$namespace);
           $this->_redirect('/index',array());
    }

}

?>


Sinon, y a quelqun qui sait m'expliquer comment utiliser les sessions dans une action ?
Merci.


In Zend, I Trust

Hors ligne

 

#3 22-01-2008 07:22:02

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Help :p

$espace = new Zend_Session_Namespace('nom de mon espace');

Hors ligne

 

#4 23-01-2008 10:40:04

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Help :p

Bonjour dividy,

L'idée est que quand tu fais un redirect, tu changes réellement de page PHP, donc toutes les données de la page précédentes sont perdues (sauf si tu les a gardées en session).
Là tu as 2 solutions :
- si tu n'as pas besoin de changer de page, tu peux regarder du coté de $this->_forward, là tu reste dans la même page PHP, donc les données de ta registry sont conservées
- si tu dois faire un redirect pour une raison ou une autre, là il faut enregistrer des données en session et pas dans la registry.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

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