Dzisiaj życie mnie zmusiło do zastosowania klasy SubForm. Do momentu gdy uzywałem Zend_Form wszystko było ok. Elementy mogłem generowa c przy pomocy ViewScript.
Przykłądowy plik widoku generujący element 'input'
<div class="group-element"> <?php if ($this->element->hasErrors()) : ?> <div class="errors"> <?= $this->formErrors($this->element->getMessages()) ?> </div> <?php endif; ?> <?php if ($this->element->getLabel() != '') : ?> <div class="label <?php if($this->element->hasErrors()): ?> error-label<?php endif; ?>"> <?= $this->formLabel($this->element->getName(), $this->_($this->element->getLabel())) ?>: </div> <?php endif; ?> <?php $options = NULL; if (method_exists($this->element, 'getMultiOptions')) $options = $this->element->getMultiOptions(); ?> <div class="element"> <?= $this->{$this->element->helper}( $this->element->getName(), $this->element->getValue(), $this->element->getAttribs(), $options ) ?> <div class="clear"></div> <?php if ($this->element->getDescription() != '') : ?> <div class="description"><ul><li><?= $this->_($this->element->getDescription()) ?></li></ul></div> <?php endif; ?> </div> </div>
Jednak gdy zastosuję Zend_Form_SubForm (/Zend/View/Helper/FormText.php) powstaje problem. Niestety helper formText który tworzy mi kompletnego imputa nie uwzględnia subformów

Co o tym myślicie, jak można to poprawnie użyć aby pole nazwa pola input było tworzona tak jak powinna ?
EDIT:
Oto co mi przyszło do głowy:
W każdym pliku widoku viewScript dodałem taki oto kod:
// ... $belongsTo = $this->element->getBelongsTo(); $name = $belongsTo.'['.$this->element->getName().']'; else $name = $this->element->getName(); // ...
I w ten sposób atrybut name jest generowany poprawnie w elementach formularza.

Zastanawiam się czy to jedyne rozwiązanie?
I w ten sposó poprawnie generuje pole name w elementach input