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

Zend Framework PHP Discussion :

zend + changer de view à la volée


Sujet :

Zend Framework PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 12
    Points : 11
    Points
    11
    Par défaut zend + changer de view à la volée
    Bonjour tout le monde

    J'ai un problème assez particulier je pense:
    j'ai une action "ajouter" dans mon controlleur, j ai donc la fonction "ajouterAction" et le phtml "ajouter.phtml" correspondant
    sauf que dans cette function suivant les cas il faudrait que j utilise une autre view que "ajouter.phtml" pour afficher les resultats
    ma question est donc est-il possible de forcer la view dans la fonction Action d'un controlleur ?

    Merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 402
    Points : 15 767
    Points
    15 767
    Par défaut
    tu peux utiliser ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_redirect('controleur/vue');

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 87
    Points : 96
    Points
    96
    Par défaut
    oui dans ton controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->render('ajouter2');
    par exemple pour lire ajouter2.phtml au lieu de ajouter.phtml (ce qui revient a ne rien mettre ou faire $this->render(); dans ton cas)

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par Grummfy
    oui dans ton controller :
    $this->render('ajouter2');

    par exemple pour lire ajouter2.phtml au lieu de ajouter.phtml (ce qui revient a ne rien mettre ou faire $this->render(); dans ton cas)
    Si tu veux juste changer le script sans faire un render immédiat, je te conseille le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_helper->viewRenderer->setScriptAction('ajouter2');
    La doc : http://framework.zend.com/manual/fr/...r.stockhelpers et notamment l'exemple 7.8 dans la partie 7.8.4.3.3

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    ok merci ça fonctionne
    je pouvais pas faire un redirect car en fait le script en question est appellé en ajax donc le redirect me rechargeait le page
    par contre le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_helper->viewRenderer->setScriptAction('ajouter2');
    marche nickel

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    finalement, quelle est la meilleure solution entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_helper->viewRenderer->setScriptAction('ajouter2');
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->render('ajouter2');
    ?
    les 2 font bien le boulot. mais est-ce qu'il y en a un a privilégier ?

  7. #7
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 144
    Points : 2 196
    Points
    2 196
    Billets dans le blog
    3
    Par défaut
    Pour info, j'utilise comme toi une vue en Ajax (Zend Framework 1.11.11) mais avec la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->render('ajouter2');
    La vue est appelée 2 fois !
    Peut-être parce que je me suis fait une petite classe qui gère automatiquement les "contextes" : AJAX/ XML / JSON / FICHIER

    En revanche cette solution fonctionne parfaitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->_helper->viewRenderer->setScriptAction('ajouter2');

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

Discussions similaires

  1. Changer de fenêtre à la volée
    Par bubkadk dans le forum SDL
    Réponses: 1
    Dernier message: 23/05/2011, 15h25
  2. Changer de view dans une boite de dialogue
    Par karaz_karaz dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 13/06/2010, 11h57
  3. Réponses: 4
    Dernier message: 15/10/2007, 16h33
  4. Changer un composant à la volée.
    Par Invité dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 03/08/2006, 10h15
  5. [C#] impossible de changer de rapport à la volée
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/05/2006, 16h13

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