У меня есть Zend_Dojo_Form, который я переместил с моего вида (где он работает нормально) на свой макет, так как он будет полезен на каждой странице.Однако в макете форма больше не работает - ни один из элементов dijit не появляется, и он ведет себя так же, как и обычная форма HTML.
Вот соответствующая часть моей начальной загрузки:
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;
}
нет ошибок (JS или ZF), форма просто не работает так, как должна.
Я предполагаю, что мне нужно, чтобы Dojo каким-то образом включил представление Layout.Я попытался изменить часть макета метода начальной загрузки выше:
$layout = Zend_Layout::startMvc(array(
'layoutPath' => '../application/layouts',
'layout' => 'default'
));
$view = $layout->getView();
Zend_Dojo::enableView($view);
$layout->setView($view);
, но это не имело никакого значения.
Я нашел этот вопрос , который звучиточень похоже на мою проблему, но принятый ответ только показывает, что в макете есть помощник додзё, который я уже делаю.