Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-09-2008 15:36:23

Julien Breux
Nouveau membre
Date d'inscription: 17-09-2008
Messages: 8

Objet Auth et Layout :-S

Bonjour,

Je tente de faire passer un "auth" dans mon layout pour utiliser dans celui-ci:

Code:

<?php if($this->auth->hasIdentity()): ?>
Je suis reconnu.
<?php else: ?>
Pas moi
<?php endif; ?>

Pour l'instant, j'y arrive en passant ceci dans mes "init" de "controlleur":

Code:

$this->_auth = Zend_Auth::getInstance();
$this->view->auth = $this->_auth;

Mais j'aimerai ne pas être obligé de le faire à chaque fois... pour l'utiliser dans mon layout, comment faire ?

Hors ligne

 

#2 17-09-2008 15:56:43

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Objet Auth et Layout :-S

tu etends Zend_Controller_Action

Code:

class My_Controller_Action extends Zend_Controller_Action{

   public $view ;
   
   public function init(){
        $this->view->auth = Zend_Auth::getInstance();
   }

}

puis tes controlleurs etendent My_Controller_Action au lieu de Zend_Controller_Action

Peut etre peux tu gérer ca au niveau des plugins mais j'ai pas encore aborder le sujet

Hors ligne

 

#3 17-09-2008 16:06:38

Julien Breux
Nouveau membre
Date d'inscription: 17-09-2008
Messages: 8

Re: Objet Auth et Layout :-S

Merci, mais ce que tu me propose revient au même, il me faudra toujours faire :

Code:

class IndexController extends  My_Controller_Action
{
  public function init()
  {
    parent::init();
    // Reste du code d'init
  }
}

Donc que ce soit une ligne ou une autre.... ça m'oblige à le déclarer quand même :-s

Le pire, c'est que je passe :

Code:

$auth = Zend_Auth::getInstance();
$frontController->setParam('auth', $auth);

Dans mon contrôleur frontal.

Personne ne saurez comment récupérer dans mon LAYOUT la variable envoyer à mon FRONT CONTROLLER ??

Hors ligne

 

#4 17-09-2008 16:19:05

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Objet Auth et Layout :-S

Zend_Registry??

Remarque à propos du problème de init

Code:

class My_Controller_Action extends Zend_Controller_Action{

   public $view ;
   
   public function init(){
        $this->view->auth = Zend_Auth::getInstance();
        $this->myInit();
   }

}

class IndexController extends  My_Controller_Action
{
  public function myInit()
  {
         //..
  }
}

Hors ligne

 

#5 17-09-2008 16:44:05

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Objet Auth et Layout :-S

Julien Breux a écrit:

Merci, mais ce que tu me propose revient au même, il me faudra toujours faire :

Code:

class IndexController extends  My_Controller_Action
{
  public function init()
  {
    parent::init();
    // Reste du code d'init
  }
}

Donc que ce soit une ligne ou une autre.... ça m'oblige à le déclarer quand même :-s

Ce n'est vrai que si tu as des traitements supplémentaire a faire dans ton init() de ta classe finale. tu peux alors contourné le probleme en faisant ce que Mr.Moox a dit big_smile (PS: j'ai failli dire la meme chose ^^)

Dernière modification par ndesaleux (17-09-2008 16:44:48)

Hors ligne

 

#6 17-09-2008 16:50:44

Julien Breux
Nouveau membre
Date d'inscription: 17-09-2008
Messages: 8

Re: Objet Auth et Layout :-S

J'y pensais également, mais Mr.MoOx, n'y a t'il pas une façon plus simple ?

-- Merci à vous deux --

Hors ligne

 

#7 17-09-2008 17:02:51

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Objet Auth et Layout :-S

Je la trouve assez simple pour ne pas avoir cherché plus loin.
Sinon faut voir du coté des plugins et pour moi c'est plus compliqué, vu que ça ne situe pas au même niveau du traitement ...  la vue sera elle initialisé? faut il le faire? ...
Trop de questions alors que j'ai déjà une réponse (loin d'être compliquée) ! big_smile

Hors ligne

 

#8 18-09-2008 10:07:25

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Objet Auth et Layout :-S

Moi, j'utilise haystack pour ca. Comme un menu dynamique. Sauf que ca n'affiche pas un menu, mais, soit ca n'affiche 'invité', soit ca affiche un pseudo avec une bouton de deconnection smile

dans le layout, ca donne ca

Code:

<?= $this->layou()->status;?>

----
Gruiiik !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages