Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je cherche à ajouter des helpers dans une architecture modulaire. J'ai la structure suivante:
application
modules
polls
views
helpers
scripts
Bootstrap
Bootstrap
Dans le bootstrap application j'ai le code suivant pour ajouter un chemin de helpers, ce qui en théorie devrait ajouter un chemin où chercher les helpers:
protected function _initView() { // Initialize view $view = new Zend_View(); $view->addHelperPath('/modules/polls/views/helpers/','Polls_View_Helper'); Zend_Dojo::enableView($view); $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); $viewRenderer->setView($view); return $view; }
Ensuite j'ai le helper Init.php pour essayer qui se trouve dans /modules/polls/views/helpers/:
<?php class Polls_View_Helper_Init { function init() { return "ok"; } }
Et pour finir dans la vue index je fais simplement appel par:
<?php echo $this->init(); ?>
Le problème est que rien ne s'affiche, alors je me demande si il va simplement bien chercher le chemin ce que je trouve bizarre c'est que si je supprime carrément la classe Init.php il m'affiche aucune erreur et lorsque je commente la ligne addHelperPath dans le Bootstrap non plus.
Quelqu'un aurait t'il déjà eu ce problème?
Merci
Hors ligne
Je n'ai jamais utilisé une architecture comme celle-là, j'utilise plutôt l'architecture recommandé par Zend:
http://framework.zend.com/manual/en/zen … dular.html
Sinon, essaie ceci pour être sur:
$view->addHelperPath(APPLICATION_PATH.'/modules/polls/views/helpers/','Polls_View_Helper');
Là, c'est clair que tu pointe dans le bon dossier parce que moi mon helper path point par défautl dans library
ex:
//ZendX est dans le dossier library $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
Pour le reste, ton code semble correct
Hors ligne
Si rien ne s'affiche :
- regarde les logs de ton serveur web, tu as surement la value display_error à off de PHP (et donc les erreurs vont dans les logs de ton serveur web
ainsi, t'en sauras déjà un peu plus sur l'erreur.
Si tu as une classe de bootstrap dans ton module, tu n'as aucun chemin de helper à rajouté.
Tes helpers doivent être placé dans
modules/polls/views/helpers/ et doivent avoir la forme "Polls_View_Helper_XXX" dans le fichier XXX.php (ce que tu sembles avoir fait correctement)
PS : je ne sais pas si le module polls est considéré comme le module par défaut, si oui, alors, dans ce cas, ce que je dis n'ai pas valide, car, le bootsrap du module n'est pas chargé (considérant que le bootstrap de l'application est le bootsrap par défaut)
Hors ligne
Bonjour.
même souci avec $view->addHelperPath(APPLICATION_PATH.'/views/helpers/', 'My_View_Helper');
Aucun message d'erreur tandis que $view->addHelperPath(/views/helpers/', 'My_View_Helper'); m'en affiché donc ce n'ai pas un souci de log pour ma part.
Merci
Hors ligne
Up svp.
Hors ligne
Pages: 1