Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à vous !
Voici mon premier post sur ce forum, et il concerne les helpers...
J'ai plusieurs vues qui appellent le helper FormIdentification qui affiche le formulaire de connexion ou un message de bienvenue selon le statut.
Le problème, c'est que dans ce helper (application\frontoffice\views\helpers), j'ai besoin de faire appel à un autre helper (application\helpersview) et je ne sais pas comment m'y prendre...
Merci d'avance pour vos réponses.
Florian
Dernière modification par toumimi (28-01-2010 17:40:02)
Hors ligne
Si ton Helper étend Zend_View_Helper_Abstract, alors $this->view t'es accessible, et donc tu peux appelé un autre Helper
Hors ligne
Merci pour ta réponse.
J'ai essayé mais apparemment, il ne connait pas l'objet view...
En fait, j'ai mon fichier layout.phtml qui appelle $this->formIdentification( );
J'ai la classe Zend_View_Helper_FormIdentification dans le fichier application\frontoffice\views\helpers.
Il est bien appelé car le problème se trouve dans ce fichier.
function formIdentification( ) {
$sConnectedName = $this->view->getConnectedName( );
Fatal error: Call to a member function getConnectedName() on a non-object in C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp\apache\www\astro-cb\application\frontoffice\views\helpers\FormIdentification.php on line 10
J'ai la classe Zend_View_Helper_GetConnectedName dans le fichier application\helpersview qui contient la fonction suivante :
public function getConnectedName( )
Comme indiqué dans l'erreur, je n'arrive pas à accéder au deuxième helper à partir du premier,
même en utilisant ta solution avec le view.
Merci de ton aide.
Florian
Hors ligne
Tu m'as pas dit si tu étendais Zend_View_Helper_Abstract...
Hors ligne
Arf ! C'était bien ça le problème...
Ca sert à quoi d'étendre Abstract ? "Juste" à pouvoir accéder à view ?
Merci à toi
Hors ligne
Lors de la création de ton helper, l'object View va tenter de voir si une action setView existe dans ton helper, si c'est le cas, il l'appel en passant $view en paramètre
Dans la classe Zend_View_Helper_Abstract, la fonction existe et place $view dans $this->view (et donc tu y as accès car elle est déclarér public)
Ca te coute rien de l'étendre
Hors ligne
D'accord merci.
Je vais donc le faire systématiquement alors parce que ça me servira...
Merci beaucoup de ton aide et à une prochaine peut-être
Florian
Hors ligne
Pages: 1