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