2010-11-28 12 views
1

J'ai un formulaire de connexion qui apparaît en haut de la page. Je ne devrais apparaître que si l'utilisateur n'est pas connecté sur toutes les pages. Où dois-je déclarer la classe qui génère le formulaire de connexion afin que je puisse l'utiliser dans ma mise en page. j'ai essayé sur ma classe d'amorçageCadre Zend où déclarer les valeurs qui apparaissent dans toutes les pages

protected function _initView(){ 
    $this->bootstrap('view'); 
    $view = $this->getResource('view'); 
    $view->headLink()->appendStylesheet($view->baseUrl('/css/default.css')); 
$auth = Zend_Auth::getInstance();  
if(!$auth->hasIdentity()) { 
     $login = new Application_Form_User(); 
     $view->login = $login; 
    } 

}
ne fonctionne pas non plus. J'ai également essayé

protected function _initView(){ 
    $view = new Zend_View(); 
    $view->headLink()->appendStylesheet('http://localhost/backend/public/css/default.css'); 
    $auth = Zend_Auth::getInstance();  
    if(!$auth->hasIdentity()) { 
      $login = new Application_Form_User(); 
      $view->login = $login; 
}} 

Répondre

6

Créer une aide de vue comme ceci:

class Application_View_Helper_LoginForm 
{ 
    public function loginForm() 
    { 
     $auth = Zend_Auth::getInstance(); 

     if(!$auth->hasIdentity()) 
     { 
      $login = new Application_Form_User(); 
      return $login; 
     } 
    } 
} 

Vous devez également enregistrer le chemin d'aide de vue dans votre Bootstrap. Le premier paramètre est le chemin et le deuxième paramètre est le préfixe du nom de la classe.

protected function _initViewHelpers() 
{ 
    $this->bootstrap('view'); 
    $view = $this->getResource('view'); 

    $view->addHelperPath(APPLICATION_PATH . '/views/helpers/', 'Application_View_Helper'); 
} 

Ensuite, pour afficher le formulaire, ajoutez le code suivant dans votre mise en page:

<?php echo $this->loginForm(); ?> 
+0

Salut, je reçois ... Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' message 'Plugin par nom' LoginForm 'n'a pas été trouvé dans le registre; chemins utilisés: Zend_View_Helper_: Zend/Voir/Helper /:/var/www/backend/application/views/helpers/'........ Et j'avais nommé le fichier loginform.php dans/application/views/helpers –

+0

Désolé propre faute ..... vous avez raison ... merci –

1

Utilisez une aide à la visualisation pour afficher le formulaire/texte «connecté».

Vous pouvez utiliser une action de contrôleur spécifique pour gérer le formulaire ou utiliser une aide d'action de contrôleur pour gérer la soumission de formulaire de connexion sur n'importe quelle page.