sando o ViewScript Decorator em subformulários aninhados (formulário Zen
Eu quero usar um script de exibição para renderizar meu formulário zend, pois parece ser a melhor maneira de controlar o layout / design do formulário enquanto ainda estiver usando as classes Zend_Element
No script view, eu renderizo o elemento com$this->element->getElement('elementName')
.
Estou tendo problemas com os nomes dos elementos. Na verdade, é um sub-formulário dentro de um sub-formulário dentro de um formulári
Quando usei os decoradores de FormElements, o nome completo dos elementos era form [subForm] [subForm] [elemento], o que era bom. Quando mudei para os decoradores do viewScript, ele mudou para subForm [subForm] [elemento].
Eu entendi que preciso usar o decorador PrepareElements para corrigir isso, mas isso fez com que o nome alterasse o formulário [subForm] [form] [subForm] [subForm] [elementos] (dobrou os dois primeiros nomes no início).
Alguma idéia de como devo lidar com isso?
Obrigado
ATUALIZAR Tentei depurar o PrepareElements e realmente não entendo o que está fazendo. Parece que funciona bem na primeira iteração, mas adiciona novamente o prefixo [subformulário] do formulário ao executar em um dos subformulários intermediário
Quando não estou usando o decorador PrepareElements, apenas falto o prefixo "formulário" nos nomes (ou seja, em vez do formulário [subForm] [elemento], recebo apenas o subForm [elemento]
Pode ser que eu possa consertar isso de alguma form
Tentei alterar o belongsTo, mas isso substituiu apenas o prefixo "subForm"
Na verdade, parece que o que está faltando é um método belongsTo no subFor
Novamente, isso é tudo por causa do decorador do ViewScript. Funciona bem com os decoradores do FormElements.
UPDATE 2: Só para esclarecer, eu não me importaria com essa alteração de nome, mas isso faz com que meus campos não sejam preenchidos quando chamo formulário-> preenche
Editar Acho que reduzi o problema a isso: quando recupero meus valores em setDefaults, eles são ordenados da seguinte forma:
array(
\"formElements1-name\" => value1... \"subFormName\" => array(
\"parentFormName\" => array(
\"subFormName\" => subForm-values-array
)
)
... O principal problema aqui é o"parentFormName" => "subFormNAme"..
o que se repete? Eu já estou na forma principal. Suponho que isso seja causado porque defini osetElementsBelongTo(formName[subFormName])
, mas se não o fizesse, os valores do meu subformulário seriam completamente separados do formulário,
i.e. valores array = array (\ "formName \" => array (formValues), \ "subFormNAme \" => array (subFormValues)
, enquanto eu espero que seja
array(
formName => array(
subFormNAme => values-array
)
)...
É possível fazer isso funcionar?