Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
Je fais mes armes sur Zend, et je bute sur un p'ti problème,
J'ai une appli opérationnelle avec un layout de base :
<div id="body"> <div id="left"> <?php echo $this->partial('./common/left.phtml'); ?> </div> <div id="content"> <?php echo $this->layout()->content; ?> </div> <hr class="hidden" /> </div> <div id="footer"> <?php echo $this->partial('./common/footer.phtml'); ?> </div>
... Jusque là, tout va bien
J'essaie d'intégrer un plugin d'authentification à partir de ce tuto-ci (que j'avais déjà fait fonctionné tout seul sur une appli test sans layout),
Mon petit soucis réside dans le fait que j'ai bien le lien (dans le menu de gauche) pour obtenir le formulaire d'authentification ; mais quand je suit le lien, le formulaire s'affiche dans le content de mon layout au lieu de s'afficher en lieu et place du lien vers le formulaire (dans le menu)...
Je sais pas si je suis clair !?
/common/left.phtml
<?php echo $this->LoggedUser(); ?>
fichier de l'aide de vue (Cc du tuto joint ci-dessus) : /views/helpers/LoggedUser.php
<?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' =>'login', 'action' => 'logout'), 'default', true); //récupère l'identité de l'utilisateur $user = $auth->getIdentity(); $username = $this->_view->escape($user->login); $role = $this->_view->escape($user->role); //chaine qui sera affichée si l'utilisateur est connecté $link = 'Welcome, ' . $username . ' | Vous avez le role ' . $role . ' | <a href="' . $logoutUrl . '">Log out</a>'; } else { //création du lien loin à partir de l'aide de vue url $loginUrl = $this->_view->url(array('controller' => 'login'), null, true); //chaine qui sera affichée si l'utilisateur n'est pas connecté $link = '<a href="' . $loginUrl . '">Log in</a>'; } return $link; } }
une idée !?
Hors ligne
Toujours personne ?
Je pense qu'une partie du problème se passe au niveau du plugin ; je dois mal le déclarer...
QQ1 aurait un tuto complet sur la mise en place d'un plugin, car je trouve rien de probant sur google -_-
Hors ligne
Tu as un fonctionnement normal la. Le lien marche et affiche son contenu dans le content . Si tu veut pas cette action soit l'action de ton controller tu lui met un disable layout soit tu gérer ton action en jquery pour recharger la dic.
Hors ligne
Merci pour ta réponse,
je me disais bien que je maitrisais pas assez pour me lancer comme ça...
ta réponse m'apporte plus de questions que de réponses, mais c'est pas grave ^^
je vais tâcher de trouver des tutos à ce niveau ; à moins que tu n'en ai un à me conseiller !?
Juste, est-ce que c'est la bonne voie de déclarer un plugin ??
Hors ligne
il est ou ton plugin car je vois une aide de vue mais pas de plugin ?
Hors ligne
Si je comprend bien, le plugin n'est pas l'authentification à proprement parler mais les autorisations qui sont vérifiées dans le plugin "Acl" (/application/plugin/Acl.php)
En fait, peut-être que je pose mal ma question.
Ce que je recherche, c'est avoir dans mon layout, soit :
- un formulaire de login si personne n'est authentifié,
- un menu particulier si qq est authentifié (pas forcément besoin des Acl car 1 seul niveau d'autorisation pour le moment)
Je partais donc sur l'idée d'un plugin pour décorréler l'authentification du reste de l'application, mais je ne sais pas si je regarde du bon côté,
On m'a aussi parlé de jQuerry ... !?
Merci de m'accorder du temps
Hors ligne
pourquoi ne pas faire un helper de vue tous simplement qui affiche les informations selon que tu soit authentifé ou non dans le layout , tu met l'url de ton helper de vue .
Hors ligne
Je note l'idée, je vais travailler dans ce sens,
Enfin j'ai toujours mon problème d'affichage du formulaire dans le content du layout quand je clic le lien retourné par le helper de vue (appelé depuis la partie "menu" de mon layout).
Comment puis-je appeler directement mon formulaire dans mon helper ??
Merci pour tes réponses
Dernière modification par cyrille.t (14-06-2012 11:57:02)
Hors ligne
Pages: 1