IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

View Helpers + ACL en ZF1.8 (livre ZFiA)


Sujet :

MVC PHP

  1. #1
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut View Helpers + ACL en ZF1.8 (livre ZFiA)
    Salut à tous,

    Je viens de créer une appli simple en ZF1.8 avec ZF_Tool, depuis ce tutorial

    J'aimerai utiliser les ACL (simplement) (comme dans le livre ZFiA chapitre 7).
    J'ai ces fichiers :
    - /library/My/Controller/Action/Helper/Acl.php
    - /application/views/helpers/LoggedInUser.php.

    Mais, lorsque j'ecris dans /applicaton/views/scripts/index/index.phtml ceci : echo $this->loggedInUser();. J'ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Message: Plugin by name 'LoggedInUser' was not found in the registry; used paths: Zend_View_Helper_: Zend/View/Helper/:./views/helpers/:/var/www/ZFworks/zf-mysite/application/views/helpers/
    Stack trace:
     
    #0 /usr/share/php/Zend/View/Abstract.php(1117): Zend_Loader_PluginLoader->load('LoggedInUser')
    #1 /usr/share/php/Zend/View/Abstract.php(568): Zend_View_Abstract->_getPlugin('helper', 'loggedInUser')
    #2 /usr/share/php/Zend/View/Abstract.php(335): Zend_View_Abstract->getHelper('loggedInUser')
    #3 [internal function]: Zend_View_Abstract->__call('loggedInUser', Array)
    #4 /var/www/ZFworks/zf-mysite/application/views/scripts/index/index.phtml(4): Zend_View->loggedInUser()
    #5 /usr/share/php/Zend/View.php(107): include('/var/www/ZFwork...')
    #6 /usr/share/php/Zend/View/Abstract.php(832): Zend_View->_run('/var/www/ZFwork...')
    #7 /usr/share/php/Zend/Controller/Action/Helper/ViewRenderer.php(902): Zend_View_Abstract->render('index/index.pht...')
    #8 /usr/share/php/Zend/Controller/Action/Helper/ViewRenderer.php(923): Zend_Controller_Action_Helper_ViewRenderer->renderScript('index/index.pht...', NULL)
    #9 /usr/share/php/Zend/Controller/Action/Helper/ViewRenderer.php(962): Zend_Controller_Action_Helper_ViewRenderer->render()
    #10 /usr/share/php/Zend/Controller/Action/HelperBroker.php(276): Zend_Controller_Action_Helper_ViewRenderer->postDispatch()
    #11 /usr/share/php/Zend/Controller/Action.php(522): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
    #12 /usr/share/php/Zend/Controller/Dispatcher/Standard.php(288): Zend_Controller_Action->dispatch('indexAction')
    #13 /usr/share/php/Zend/Controller/Front.php(945): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
    #14 /usr/share/php/Zend/Application/Bootstrap/Bootstrap.php(77): Zend_Controller_Front->dispatch()
    #15 /usr/share/php/Zend/Application.php(328): Zend_Application_Bootstrap_Bootstrap->run()
    #16 /var/www/ZFworks/zf-mysite/public/index.php(26): Zend_Application->run()
    #17 {main}
    Alors que quand je crée un autre helpers, de la meme maniere, qui ne renvoie qu'un texte "hello", je n'ai pas d'erreur !!???

    Pourquoi ?

    Merci,
    Fabrice

  2. #2
    Membre régulier
    Homme Profil pro
    Software engineer
    Inscrit en
    Août 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Software engineer

    Informations forums :
    Inscription : Août 2008
    Messages : 139
    Points : 92
    Points
    92
    Par défaut
    salut ,

    si tu peux poster le code de ton helper ,ça serai plus claire

    si j'ai bien compris , le helper de vue a pour fonction de savoir si l'utilisateur loggé a certain droit ,afin de ,par exemple lui afficher un lien ou pas .

    pour cela je vous envoie vers ce lien , c'est exactement ce que tu est entrain de faire .
    The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.

  3. #3
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut
    hello,

    Oui, c cela qu'il me faut. Je vais de ce pas voir le le tuto que tu me proposes.
    Voici le code du helper, mais je ne pense pas que cela vienne du code, ni du helper (car j'arrive à en crée un autre) y'a autre chose, une déclaration qui ne vas pas dans les ACL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    class Zend_View_Helper_LoggedInUser
    {
        protected $_view;
     
        function setView($view)
        {
            $this->_view = $view;
        }
     
        function loggedInUser()
        {
     
            $auth = Zend_Auth::getInstance();
            if($auth->hasIdentity())
            {
                $logoutUrl = $this->_view->url(array('controller'=>'auth', 'action'=>'logout'));
                $user = $auth->getIdentity();
                $username = $this->_view->escape(ucfirst($user->username));
     
                $string = 'Logged in as ' . $username;
                $string .= ' | <a href="' . $logoutUrl . '">Log out</a>';
            } else {
                $loginUrl = $this->_view->url(array('controller'=>'auth', 'action'=>'identify'));
                $string = '<a href="'. $loginUrl . '">Log in</a>';
            }
            return $string;
        }
    }
    Celui ci marche pas contre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    class Zend_View_Helper_BaseUrl
    {
        function baseUrl()
        {
            $fc = Zend_Controller_Front::getInstance();
            return $fc->getBaseUrl();
        }
    }
    Merci
    Fabrice

Discussions similaires

  1. Redirection depuis un view helper
    Par EmmanuelW dans le forum MVC
    Réponses: 4
    Dernier message: 04/11/2010, 17h50
  2. [ZF 1.10] Appel du view helper "action" dans une module ne marche pas
    Par ilalaina dans le forum MVC
    Réponses: 7
    Dernier message: 28/10/2010, 10h11
  3. [ZF 1.10] Zend View Helper et initialisation
    Par darthmower dans le forum Zend Framework
    Réponses: 4
    Dernier message: 05/03/2010, 13h39
  4. Réponses: 1
    Dernier message: 04/06/2009, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo