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![]()
Partager