Agli ultimi post su Zend Framework non ha risposto nessuno... con questo spero di essere più fortunato.
Ho una form in cui voglio aggiungere degli elementi in maniera dinamica attraverso un ciclo, uso Zend_Form_SubForm ma non riesco ad ottenere il risultato sperato. ecco cosa vorrei ottenere:

Codice PHP:
Array
(
    [
model] => 
    [
code] => 
    [
ident] => 
    [
booklet] => 
    [
image_default] => 
    [
status] => 1
    
[stock] => 1
    
[languages] => Array
        (
            [
lang_name] => Array
                (
                    [
1] => 
                    [
3] => 
                    [
2] => 
                )
            [
lang_description] => Array
                (
                    [
1] => 
                    [
3] => 
                    [
2] => 
                )

        )
)

//oppure, anche se non ideale, potrebbe andarmi bene qualcosa tipo:

Array
(
    [
model] => 
    [
code] => 
    [
ident] => 
    [
booklet] => 
    [
image_default] => 
    [
status] => 1
    
[stock] => 1
    
[lang_name] => Array
         (
             [
1] => 
             [
3] => 
             [
2] => 
        )
    [
lang_description] => Array
        (
            [
1] => 
            [
3] => 
            [
2] => 
        )

nell'utima prova fatta, sono stato costretto ad aggiungere 2 subform (che dovranno divenare 6 visto che qua ho accorciato per brevità), così:
Codice PHP:
$langName = new Zend_Form_SubForm();
$langDesc = new Zend_Form_SubForm();

foreach (
$languages as $language) {
    
$langName->addElement('text', (string) $language->language_id,
        array(
            
'belongsTo' => 'lang_name',
            )
        );

    
$langDesc->addElement('textarea', (string) $language->language_id,
        array(
            
'belongsTo' => 'lang_description',
            )
        );
}

$this->addSubForms(array('langName' => $langName,
                         
'langDesc' => $langDesc,
                   ));); 
ottenendo questo risultato:
Codice PHP:
Array
(
    [
model] => 
    [
code] => 
    [
ident] => 
    [
booklet] => 
    [
image_default] => 
    [
status] => 1
    
[stock] => 1
    
[langName] => Array
        (
            [
lang_name] => Array
                (
                    [
1] => 
                    [
3] => 
                    [
2] => 
                )

        )

    [
langDesc] => Array
        (
            [
lang_description] => Array
                (
                    [
1] => 
                    [
3] => 
                    [
2] => 
                )

        )

Non credo sia il modo giusto di lavorare, intanto sono costretto ad aggiungere una subform per ogni elemento, e poi il risultato restituito mi complica poi la vita nel salvataggio delle informazioni.