Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-06-2012 12:29:58

cyrille.t
Membre
Date d'inscription: 16-01-2012
Messages: 15

ZEND_LAYOUT : actions du menu s'affichent dans le content

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 :

Code:

<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 smile


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

Code:

<?php
     echo $this->LoggedUser();
?>

fichier de l'aide de vue (Cc du tuto joint ci-dessus) : /views/helpers/LoggedUser.php

Code:

<?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

 

#2 08-06-2012 11:05:09

cyrille.t
Membre
Date d'inscription: 16-01-2012
Messages: 15

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

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

 

#3 08-06-2012 16:03:12

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

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.


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#4 12-06-2012 11:08:51

cyrille.t
Membre
Date d'inscription: 16-01-2012
Messages: 15

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

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

 

#5 12-06-2012 16:53:51

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

il est ou ton plugin car je vois une aide de vue mais pas de plugin ?


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#6 13-06-2012 14:57:14

cyrille.t
Membre
Date d'inscription: 16-01-2012
Messages: 15

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

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 wink

Hors ligne

 

#7 14-06-2012 10:15:13

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

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 .


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#8 14-06-2012 11:33:29

cyrille.t
Membre
Date d'inscription: 16-01-2012
Messages: 15

Re: ZEND_LAYOUT : actions du menu s'affichent dans le content

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 wink

Dernière modification par cyrille.t (14-06-2012 11:57:02)

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