Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Discussion fermée
Bonjour,
Voici mon problème. J'ai un helper qui me permet de de gérer le login/logout sur mon layout :
<?php class Zend_View_Helper_LoggedUser { protected $_view; function setView($view) { $this->_view = $view; } function loggedUser() { $auth = Zend_Auth::getInstance(); if($auth->hasIdentity()) { //création du lien logout à partir de l'aide de vue url $logoutUrl = $this->_view->url(array('controller' =>'index', 'action' => 'logout'), 'default', true); //récupère l'identité de l'utilisateur $user = $auth->getIdentity(); $userfirstname = $this->_view->escape($user->user_firstname); $userlastname = $this->_view->escape($user->user_lastname); //chaine qui sera affichée si l'utilisateur est connecté $date = new Zend_Date(); $link = $userfirstname.' '.$userlastname.' | <a href="'.$logoutUrl.'">Se déconnecter</a> | <em>'.$date->toString('dd MMMM yyyy').'</em>'; } else { //création du lien login à partir de l'aide de vue url $loginUrl = $this->_view->url(array('controller' => 'index', 'action' => 'login'), null, true); //chaine qui sera affichée si l'utilisateur n'est pas connecté $date = new Zend_Date(); $link = $date->toString('dd MMMM yyyy').' | '.'<a href="'.$loginUrl.'">Se connecter</a>'; } return $link; } } ?>
Cela fonctionne correctement. Mais lorsque j'essaye d'initialiser ma navigation via le bootstrap :
protected function _initNavigation() { $this->bootstrap('layout'); $layout = $this->getResource('layout'); $view = $layout->getView(); $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav'); $navigation = new Zend_Navigation($config); $view->navigation($navigation); }
voici l'erreur :
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'LoggedUser' was not found in the registry; used paths: Zend_View_Helper_: Zend/View/Helper/:./views/helpers/' in /opt/zend/share/ZendFramework/library/Zend/Loader/PluginLoader.php:412 Stack trace: #0 /opt/zend/share/ZendFramework/library/Zend/View/Abstract.php(1174): Zend_Loader_PluginLoader->load('LoggedUser') #1 /opt/zend/share/ZendFramework/library/Zend/View/Abstract.php(610): Zend_View_Abstract->_getPlugin('helper', 'LoggedUser') #2 /opt/zend/share/ZendFramework/library/Zend/View/Abstract.php(336): Zend_View_Abstract->getHelper('LoggedUser') #3 /opt/zend/apache2/htdocs/servicheque/rde/application/layouts/scripts/layout.phtml(31): Zend_View_Abstract->__call('LoggedUser', Array) #4 /opt/zend/apache2/htdocs/servicheque/rde/application/layouts/scripts/layout.phtml(31): Zend_View->LoggedUser() #5 /opt/zend/share/ZendFramework/library/Zend/View.php(108): include('/opt/zend/apach...') #6 /opt/zend/share/ZendFramework/library/Ze in /opt/zend/share/ZendFramework/library/Zend/Loader/PluginLoader.php on line 412
Quelqu'un pour m'éclairer? D'ailleurs pourquoi doit-je fait un
$view = $layout->getView();
dans mon bootstrap et un
function setView($view) { $this->_view = $view; }
dans mon helper?
Merci d'avance.
Hors ligne
Tes aides de vue devraient dériver de Zend_View_Helper_Abstract non ?
Hors ligne
bakura a écrit:
Tes aides de vue devraient dériver de Zend_View_Helper_Abstract non ?
Possible, mais quoi qu'il en soit ça change rien.
Hors ligne
Sujet doublon avec :
http://www.z-f.fr/forum/viewtopic.php?id=6210
Hors ligne
Discussion fermée
Pages: 1