У меня быстрый вопрос о добавлении Zend_Dojo_Form в Zend_layouts.
У меня есть Zend_Dojo_Form, который я хочу отобразить в макете, который используется для конкретного контроллера. Я могу добавить форму в макет без каких-либо проблем, однако элементы dojo не будут отображаться, как если бы я добавил форму в стандартное представление.
Есть ли какая-то причина, почему это так? Нужно ли что-то делать с макетом, чтобы он включал компоненты для этой встроенной формы в макете. Любые другие формы с поддержкой dojo, которые добавляются в представление с использованием этого макета, работают нормально.
Моя форма создана обычным способом:
class QuickAddJobForm extends Zend_Dojo_Form{
public function init(){
$this->setName('quickaddjobfrm')
->setMethod('post')
->setAction('/addjob/start/);
/*We now create the elements*/
$jobTitle = new Zend_Dojo_Form_Element_TextBox('jobtitle',
array(
'trim' => true
)
);
$jobTitle->setAttrib('style', 'width:200px;')
->addFilter('StripTags')
->removeDecorator('DtDdWrapper')
->removeDecorator('HtmlTag')
->removeDecorator('Label');
....
$this->addElements(array($jobTitle, ....));
В контроллере я объявляю расположение и форму в функции init:
public function init(){
$this->_helper->layout->setLayout('add-layout');
$form = new QuickAddJobForm();
$form->setDecorators(array(array('ViewScript', array('viewScript' => 'quickAddJobFormDecorator.phtml'))));
$this->_helper->layout()->quickaddjob = $form;
В моем макете Где я хочу форму, у меня есть:
echo $this->layout()->quickaddjob;
Почему при добавлении этой формы в макет не удается отобразить / добавить элементы Dojo? Все, что в данный момент отображается, - это текстовые поля, а не некоторые другие компоненты, такие как ComboBoxes / FilteringSelects и т. Д ...
Заранее спасибо.