Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
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 01/02/2008, 18h03   #1
Membre du Club
 
Inscription : janvier 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 103
Points : 48
Points : 48
Par défaut Récupérer le nom du contrôleur et de l'action courants

Bonjour,

Voilà, j'ai un petit souçi. Je suis en train de mettre en place l'outil d'audience XITI et il faut que je détermine un "nom" de page. Ce nom de page, je veux qu'il soit sous la forme de "controller_action".

Je sais comment extraire ces valeurs de la barre d'URL, mais il doit forcement y avoir des fonctions de Zend Framework qui font ça.

Malgré mes recherches, je n'ai rien trouvé. Enfin si, mais les solutions datent de ZF 0.2 et ne fonctionnent plus.

Quelqu'un peut-il éclairer ma lanterne, sachant que je suis sous la 1.0.2 ?

Merci.

EDIT : une précision supplémentaire. J'ai parcouru la FAQ et elle donne la solution pour une utilisation à partir d'un contrôleur. Mais je veux pouvoir les récupérer directement dans le fichier principal (index.php) afin de l'envoyer à la vue une fois pour toute.
__________________
Problèmes résolus : 3
N'oubliez pas le tag [Résolu]
Bensor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 01h50   #2
Membre du Club
 
Inscription : janvier 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 103
Points : 48
Points : 48
Ok, j'ai compris. En fait, avant le dispatch, il semble impossible de récupérer le nom du contrôleur ou de l'action via une fonction de Zend Framework : cela ne peut se faire qu'après le dispatch. Bon bha me reste plus qu'à écrire une fonction qui permet de le faire avant le dispatch
__________________
Problèmes résolus : 3
N'oubliez pas le tag [Résolu]
Bensor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 03h06   #3
Nouveau Membre du Club
 
Erick
Inscription : décembre 2007
Messages : 81
Détails du profil
Informations personnelles :
Nom : Erick
Âge : 27
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 81
Points : 32
Points : 32
Tu n'utilise pas le Zend_View ?
Chasseur d'étoiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 08h21   #4
Membre du Club
 
Inscription : janvier 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 103
Points : 48
Points : 48
Citation:
Envoyé par Chasseur d'étoiles Voir le message
Tu n'utilise pas le Zend_View ?
Y'a des fonctions du Zend_View qui permet de les récupérer?
__________________
Problèmes résolus : 3
N'oubliez pas le tag [Résolu]
Bensor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 11h59   #5
Nouveau Membre du Club
 
Erick
Inscription : décembre 2007
Messages : 81
Détails du profil
Informations personnelles :
Nom : Erick
Âge : 27
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 81
Points : 32
Points : 32
pas de ce que je sache mais au pire tu fais simplement dans ton action:

Code :
1
2
3
4
5
6
7
8
9
 
<?php
/* ... */
public function init()
{
$this->view->nomdelapage = $this->_request->controller . '_' . $this->_request->action;
}
/*...*/
?>
et dans ton code de ta vue:

Code :
1
2
 
<toncodexiti><?php echo $this->nomdelapage ?></toncodexiti>
Chasseur d'étoiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 12h26   #6
Membre du Club
 
Inscription : janvier 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 103
Points : 48
Points : 48
Citation:
Envoyé par Chasseur d'étoiles Voir le message
pas de ce que je sache mais au pire tu fais simplement dans ton action:

Code :
1
2
3
4
5
6
7
8
9
 
<?php
/* ... */
public function init()
{
$this->view->nomdelapage = $this->_request->controller . '_' . $this->_request->action;
}
/*...*/
?>
et dans ton code de ta vue:

Code :
1
2
 
<toncodexiti><?php echo $this->nomdelapage ?></toncodexiti>
Sauf que ce sera mettre le même code dans tout les contrôleurs
__________________
Problèmes résolus : 3
N'oubliez pas le tag [Résolu]
Bensor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 12h30   #7
Nouveau Membre du Club
 
Erick
Inscription : décembre 2007
Messages : 81
Détails du profil
Informations personnelles :
Nom : Erick
Âge : 27
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 81
Points : 32
Points : 32
Vrai, sauf si tu étends ton contrôleur.

Code :
1
2
3
4
5
6
7
8
9
class MyController extends Zend_Controller_Front
{
public function __construct($args)
{
parent::__construct($args);
$this->view->nomdelapage = $this->_request->controller . '_' . $this->_request->action;
}
}
ensuite dans ton contrôleur:
Code :
1
2
3
4
5
 
class indexController extends MyController
{
// code
}
Chasseur d'étoiles est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2008, 17h40   #8
Membre du Club
 
Inscription : janvier 2004
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 103
Points : 48
Points : 48
Citation:
Envoyé par Chasseur d'étoiles Voir le message
Vrai, sauf si tu étends ton contrôleur.

Code :
1
2
3
4
5
6
7
8
9
class MyController extends Zend_Controller_Front
{
public function __construct($args)
{
parent::__construct($args);
$this->view->nomdelapage = $this->_request->controller . '_' . $this->_request->action;
}
}
ensuite dans ton contrôleur:
Code :
1
2
3
4
5
 
class indexController extends MyController
{
// code
}
Exact, j'y avais pas pensé Merci
__________________
Problèmes résolus : 3
N'oubliez pas le tag [Résolu]
Bensor 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 13h28.


 
 
 
 
Partenaires

Hébergement Web