Utilizando ViewScript Decorator en subformularios anidados (formulario Zend)

Quiero usar un script de vista para representar mi formulario zend, ya que parece ser la mejor manera de controlar el diseño / diseño del formulario mientras sigo usando las clases Zend_Elements.

Desde el script de vista, renderizo el elemento con$this->element->getElement('elementName') .

Tengo problemas con los nombres de los elementos. Esto es en realidad un subformulario dentro de un subformulario dentro de un formulario.

Cuando utilicé los decoradores FormElements, el nombre completo de los elementos fue form [subForm] [subForm] [element], lo cual fue bueno. Wehn me mudé a los decoradores viewScript, cambió a subForm [subForm] [elemento].

Comprendí que necesito usar el decorador PrepareElements para arreglar esto, pero esto causó que el nombre cambiara de forma [subForm] [form] [subForm] [subForm] [elementos] (duplicó los dos primeros nombres al comienzo). @

¿Alguna idea de cómo debo manejar esto?

Gracias

ACTUALIZAR Traté de depurar PrepareElements y realmente no entiendo lo que está haciendo. Parece que funciona bien en la primera iteración, pero luego agrega nuevamente el prefijo de forma [subformulario] cuando se ejecuta en uno de los subformularios medios.

Cuando no estoy usando el decorador PrepareElements, solo me falta el prefijo "form" en los nombres (es decir, en lugar de form [subForm] [element], obtengo solo subForm [element]).

Puedo ser capaz de arreglar esto de alguna maner

ntenté cambiar el pertenece a, pero eso solo reemplazó el prefijo "subformulario".

En realidad, parece que lo que falta es un método pertenece a la subformulario.

De nuevo, todo esto se debe al decorador ViewScript. Funciona bien con los decoradores FormElements.

UPDATE 2: Solo para aclarar, no me importaría este cambio de nombre, pero hace que mis campos no se completen cuando llamo form-> populate.

Editar Creo que he reducido el problema a esto: cuando recupero mis valores en setDefaults, se ordenan así:

array(
\"formElements1-name\" => value1... \"subFormName\" => array(
\"parentFormName\" => array(
\"subFormName\" => subForm-values-array
)
)

... El principal problema aquí es la"parentFormName" => "subFormNAme".. ¿Qué se repite? Ya estoy en la forma principal. Supongo que esto se debe a que he configurado lasetElementsBelongTo(formName[subFormName]), pero si no lo hiciera, obtendría mis valores de subformulario completamente separados del formulario,

es decir. valores array = array (\ "formName \" => array (formValues), \ "subFormNAme \" => array (subFormValues)

, mientras lo exijo para ser

array(
formName => array(
subFormNAme => values-array
)
)...

Incluso es posible hacer que esto funcione?

Respuestas a la pregunta(4)

Su respuesta a la pregunta