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 412Quelqu'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