J'ai une Zend_Dojo_Form que j'ai déplacée de ma vue (où cela fonctionne bien) à ma mise en page, car c'est quelque chose qui sera utile sur chaque page. Cependant, dans la mise en page, le formulaire ne fonctionne plus - aucun des éléments dijit n'apparaît et il se comporte comme le ferait un formulaire HTML normal.Zend_Dojo_Form dans une mise en page
est ici la partie pertinente de mon bootstrap:
protected function _initView()
{
Zend_Layout::startMvc(array(
'layoutPath' => '../application/layouts',
'layout' => 'default'
));
$view = new Zend_View();
$view->setEncoding('UTF-8')
->doctype('HTML5');
// init Dojo
Zend_Dojo::enableView($view);
$view->dojo()->enable()
->setCdnVersion('1.5')
->requireModule('dojo.data.ItemFileWriteStore')
[...]
->addStyleSheetModule('dijit.themes.tundra');
// assign the view to the viewRenderer, so it will be used by the MVC actions
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
return $view;
}
il n'y a pas d'erreurs (JS ou ZF), la forme ne fonctionne pas comme il devrait.
Je suppose que j'ai besoin de Dojo activer la vue Mise en page d'une certaine façon. J'ai essayé de changer la partie de mise en page de la méthode de bootstrap ci-dessus à ceci:
$layout = Zend_Layout::startMvc(array(
'layoutPath' => '../application/layouts',
'layout' => 'default'
));
$view = $layout->getView();
Zend_Dojo::enableView($view);
$layout->setView($view);
mais cela n'a fait aucune différence.
J'ai trouvé this question qui semble très similaire à mon problème, mais la réponse acceptée ne montre que l'aide de dojo dans la mise en page, ce que je fais déjà.