Я потратил часы в сети, чтобы найти решение, но ничего не работает.
У меня есть форма, разделенная на 2 подформы (я не могу заставить работать панель аккордеона)
как это:
$sfBase = new Zend_Dojo_Form_SubForm('base_info');
$sfBase->setName('base_info')
->setAction('/product/add?f=1');
$id = new Zend_Form_Element_Hidden('id');
$id->addFilter('Int')
->setAttrib('style', 'display:none');
$nom = new Zend_Dojo_Form_Element_TextBox('name');
$nom->setLabel('Nom du produit')
->setTrim(true)
->setValue("Entrez le nom")
->setPropercase(true);
$sdesc = new Zend_Dojo_Form_Element_TextBox('sdesc');
$sdesc->setLabel('Courte description du produit')
->setTrim(true)
->setValue("Description")
->setPropercase(true);
$sfBase->addElements(array($id, $nom, $sdesc);
$submitSubBase = new Zend_Dojo_Form_Element_SubmitButton('sub1');
$submitSubBase->setLabel('ok');
$sfBase->addElement($submitSubBase);
и другая подчиненная форма, которая содержит несколько других элементов:
$sfComp = new Zend_Dojo_Form_SubForm('comp_info');
$sfComp->setName('comp_info')
->setAction('/product/add?f=2');
...
$submitSubComp = new Zend_Dojo_Form_Element_SubmitButton('sub2');
$submitSubComp->setLabel('envoyer');
$sfComp->addElement($submitSubComp);
$this->addSubForms(array('base_info' => $sfBase,
'comp_info' => $sfComp
));
В моем контроллере я отображаю всю инстанцированную форму:
$this->view->base = $form;
но всякий раз, когда я нажимаю кнопку отправки, ничего не происходит. Я попытался поместить одну кнопку отправки, добавленную в форму (не в подформу)
с setAction:
$baseForm->setAction($this->view->url(
array('controller' => 'Product', 'action' => 'add', 'id' => '1'), 'default',
true));
но это то же самое, в конце концов я разделил форму на два разных Zend_Form вместо подчиненных, но это не очень чисто ...
Поэтому, безуспешно попробовав многостраничные формы, подформы и контейнеры Dojo, я не знаю, что делать, и любая помощь будет приветствоваться!
спасибо