Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-02-2009 17:52:52

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

[Résolu]$request->setDispatched(true) et URL

Bonjour,

je n'ai pas trouvé exactement la même problématique que la mienne sur le forum, alors j'y vais :
Pour mon appli je gère des communautés donc dans mon cas une url c'est
www.lenomdusite.com/lacommunaute/lemodule/lecontroller/uneaction
Un utilisateur ayant des communautés principales et secondaires j'ai une procédure dans un plugin qui me permet de remettre l'aiguillage sur la communauté principale quand il appelle certaines actions: 

Code:

public function dispatchLoopStartup ($request)
    {
        if (!Zend_Auth::getInstance()->hasIdentity()) 
        {
            // L'utilisateur n'est pas authentifié sur le site
            // Des traitements ici
        }
        else 
        {
            // L'utilisateur est authentifié sur le site
            $action = $request->getActionName();
            switch ($action) {
                case 'index':
                case 'infocompte':
                    $tmpvalsession = new Zend_Session_Namespace('communaute');
                     $communaute = $tmpvalsession->communauteactive;
                     $request->setParam('communaute',$communaute);
                     $request->setDispatched(true);
                break;
                default:
                ;
                break;
            }    
        }
    }

ça marche bien en ce qui concerne la page affichée, éléments graphiques, etc... en revanche l'URL affichée dans la barre d'adresse du navigateur ne reflète pas cet affichage, la communauté n'est pas la bonne. Comment forcer ça, en douceur ?

Dernière modification par Jean-Marc Rigade (12-02-2009 18:36:57)

Hors ligne

 

#2 12-02-2009 18:09:04

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Résolu]$request->setDispatched(true) et URL

Pour changer l'url dans le navigateur, il faut faire une redirection.


----
Gruiiik !

Hors ligne

 

#3 12-02-2009 18:36:34

Jean-Marc Rigade
Membre
Lieu: Rennes
Date d'inscription: 25-09-2007
Messages: 314

Re: [Résolu]$request->setDispatched(true) et URL

Oui en effet, c'est assez logique, mais je me demandais s'il n'y avait pas une méthode capable d'afficher une url de son choix en dehors d'une redirection.
J'ai contourné le problème en mettant dans toutes les actions 'index' de tous les controllers (sauf le controller Index) une redirection vers l'action index du controller Index en profitant de cette redirection pour y glisser la communauté de l'abonné...
Pas aussi élégant qu'une solution qui n'existe que dans mes rêves...

Dernière modification par Jean-Marc Rigade (12-02-2009 18:37:21)

Hors ligne

 

#4 16-02-2009 14:05:03

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Résolu]$request->setDispatched(true) et URL

Tu as essayé de modifié l'entête HTTP 'Location'  de ta réponse ?

EDIT : pardon, je voulais dire 'Content-location'

Dernière modification par nORKy (16-02-2009 14:22:07)


----
Gruiiik !

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