Визуализируйте подформу формы Zend, но сохраняйте имена, как если бы вся форма была визуализирована - PullRequest
1 голос
/ 14 марта 2012

У меня есть Zend Form со многими вложенными субформами.Когда пользователь нажимает кнопку, я вызываю ajax-скрипт и отображаю одну из вложенных подчиненных форм, а затем помещаю ее в правильное место с помощью javascript.

Проблема в том, что если вы отображаете вложенную форму самостоятельно, она обрабатывает еекак форма сама по себе и как таковая игнорирует родительские формы при именовании элементов.

Например, мой элемент называется

'questions [0] [answers] [3] [text] '

, но когда я отрисовываю подчиненную форму ответов самостоятельно, она становится

' 3 [text] '

Я нагуглил, нагуглил и единственноечто я нашел, это: http://zend -framework-community.634137.n4.nabble.com / Rendering-a-sub-form-element-in-a-a-view-script-td643270.html

Однако мне не повезло с PrepareElements.

1 Ответ

3 голосов
/ 05 июня 2012

Похоже, что Zend устанавливает префиксы именования при отображении формы и может использовать его позже.Таким образом, существует обходной путь:

  $form = new Zend_Form();
  $form->addSubForm(new Zend_Form_SubForm(), 'mysubform');
  // ... add elements and other subforms

  // workaround part
  $form->render();

  echo $form->mysubform;

Обходная часть задает assignTo в подчиненных формах и элементах, так что позже, когда они отображаются отдельно, они имеют префиксы имен.

...