Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2007, 17h47   #1
Invité régulier
 
Inscription : avril 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 12
Points : 6
Points : 6
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
Reckonings est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 18h44   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu peux utiliser ça :
Code :
$this->_redirect('controleur/vue');
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 18h44   #3
Membre régulier
 
Étudiant
Inscription : novembre 2005
Messages : 85
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2005
Messages : 85
Points : 81
Points : 81
oui dans ton controller :
Code :
$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)
Grummfy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 18h54   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
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 :
$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
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 10h01   #5
Invité régulier
 
Inscription : avril 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 12
Points : 6
Points : 6
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 :
$this->_helper->viewRenderer->setScriptAction('ajouter2');
marche nickel
Reckonings est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2008, 11h46   #6
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
finalement, quelle est la meilleure solution entre
Code :
$this->_helper->viewRenderer->setScriptAction('ajouter2');
et
Code :
$this->render('ajouter2');
?
les 2 font bien le boulot. mais est-ce qu'il y en a un a privilégier ?
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h42.


 
 
 
 
Partenaires

Hébergement Web