IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Controller et url helper


Sujet :

MVC PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Controller et url helper
    Bonjour,
    voilà, j'ai créé un layout avec un lien 'retour' que j'alimente par mon contrôleur.

    layout.phtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<?php echo $this->url($this->retour);?>">retour</a>
    controller.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->view->retour = array('controller'=>'accueil','action'=>'index');
    Jusque là pas de problème. Maintenant ma question :
    Existe t'il une fonction qui me permettrais d'obtenir le même résultat que l'helper url() mais dans un redirect() dans un controllerAction ?
    Pour reprendre le code précédant, cà donnerait çà :

    controller.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function testAction(){
    //.... instructions
    $this->_redirect = fonction_magique_comme_url(array('controller'=>'accueil','action'=>'index'));
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Encore une fois je suis un abruti sans nom, il suffit d'utiliser la fonction static 'url' de la classe Zend_View_Helper_Url :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $return = array('controller'=>'accueil','action'=>'index');
    $this->_redirect = Zend_View_Helper_Url::url($return);
    :-)

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2007
    Messages : 41
    Points : 45
    Points
    45
    Par défaut
    Au pire des cas, tu peux aussi appeler le helper url dans le controller comme cela:

    Mais c'est pas super joli ;-)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 98
    Points : 93
    Points
    93
    Par défaut
    Yop, je sais que la discussion est résolue.
    Mais comme vous parlier de beauté de code, je me suis dit que ca valait la peine de vous parler de l'aide d'action 'redirector'.
    Si vous voulez faire une redirection dans le controller, il vaut mieux utiliser sont propre helper à la place de celui de la view

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $redirector = $this->_helper->getHelper('Redirector');
    $redirector->gotoSimple('index', 'accueil');
    De plus, cet helper est bien plus puissant que celui de la view. Il comporte d'autre methodes tel que gotoUrl(), gotoRoute(), ...

    Je vous laisse un tit lien vers la doc, histoire que vous voyez de quoi je parle

    http://framework.zend.com/manual/en/...ers.redirector

  5. #5
    Invité
    Invité(e)
    Par défaut
    Voilà qui réponds parfaitement a ma question en fait !
    Un grand merci à toi oliviercuyp!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. AutoComplete control error: url.indexOf is not a function
    Par Fra212 dans le forum ASP.NET MVC
    Réponses: 2
    Dernier message: 09/05/2012, 11h43
  2. [1.x] loading url helper à partir d'une task
    Par flora806 dans le forum Symfony
    Réponses: 5
    Dernier message: 24/04/2012, 16h57
  3. Controle d'url dans un site internet
    Par mic79 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 03/02/2008, 19h39
  4. Réponses: 4
    Dernier message: 03/05/2006, 13h58
  5. j'ai un controle windowsmediaplayer1.URL
    Par aliosys dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/12/2005, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo