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 :

[ZEND_VIEW_HELPER]Problème de méthode dans mon helper [ZF 1.11]


Sujet :

MVC PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut [ZEND_VIEW_HELPER]Problème de méthode dans mon helper
    Bonjour,

    Je suis confronté à un problème que je n'arrive pas à résoudre.
    Je crée une application zend, pour laquelle, je conçois un View Helper.
    J'ai placé ce view Helper dans le dossier qu'il faut, et j'ai déclarer mon chemin de la façon suivante :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected function _initView()
                {
                // Initialisation de la vue et des helpers de vue
                    $view = new Zend_View();
                    $view->doctype('XHTML1_STRICT');
                            // On ajoute le dossier des helpers
                    $view->addHelperPath(APPLICATION_PATH . '/views/helpers');
                            // On charge l'helper qui va se charger de la vue
                    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
                    $viewRenderer->setView($view);
                    return $view;
                }


    Voici à présent le code de mon helper :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        class Zend_View_Helper_BtnAll extends Zend_View_Helper_Abstract{
            protected $_style;
            public function btnAll()
            {   
            }   
            public function show($nbr) {
                $this->_style = $nbr;
                return $nbr;
            }
        }


    Le problème est que lorsque je suis dans mon layout, et que je fais ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->btnAll()->show('10'); ?>

    Ceci ne fonctionne pas. Alors que si je fais :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public function btnAll()
    {   
          return 'essai';
    }

    et ensuite dans mon layout:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->btnAll(); ?>

    essai s'affiche correctement.




    D'où vient donc le problème ? est-ce du au fait qu'on ne puisse pas appeler d'autre methode d'un helper (ce qui me paraitrait étrange)

    Merci d'avance

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Tu ne peux appeler qu'une méthode d'un helper, mais tu peux créer plusieurs méthodes dans ton helper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        class Zend_View_Helper_BtnAll extends Zend_View_Helper_Abstract{
            protected $_style;
            public function btnAll($var)
            {
                 return $this->show($var)   
            }   
            public function show($nbr) {
                $this->_style = $nbr;
                return $nbr;
            }
        }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Merci de ta réponse mais quelqu'un m'a expliqué une solution

    http://fr.wikipedia.org/wiki/D%C3%A9...%C3%AEn%C3%A9e

    En fait je peux effectuer l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->btnAll()->show('10'); ?>

    Afin d'accéder à la méthode méthode de mon view helper que je souhaite, j'utilise la solution de désignation chainée que me permet en ne mettant qu'un return $this dans ma méthode btnAll

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de blending dans mon motion blur
    Par dams32 dans le forum OpenGL
    Réponses: 13
    Dernier message: 07/04/2007, 20h28
  2. Problème de height dans mon conteneur
    Par darcy dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/12/2006, 09h37
  3. [C# 2.0] Problème de DLL dans mon site web
    Par Rodie dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/12/2006, 16h43
  4. Problème d'affichage dans mon état
    Par gontrand16 dans le forum Access
    Réponses: 6
    Dernier message: 05/07/2006, 20h29
  5. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53

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