[RISOLTO] dropDownList con label più complessa

Ho un menu a tendina nel quale la label viene recuperata dalla tabella relazionata


<?php echo $form->dropDownList($model,'formato_id', CHtml::listData(Formato::model()->findAll(), 'id', 'nome'),array('empty' => '· · ·')); ?>

Nel mio caso viene visualizzato il nome ma vorrei che fosse visualizzata anche la dimensione.

È possibile ottenere una label concatenando 2 dati?

Grazie

Si!

Per esempio puoi fare qualche cosa di questo tipo:





// init

$item = array();


// foreach

foreach(Formato::model()->findAll() as $formato) {

    $item[$formato['id']] = $formato['valore1'] .','. $formato['valore2'];

}


//dropdown

echo $form->dropDownList($model,'formato_id', CHtml::listData($item, 'id', 'nome'),array('empty' => '· · ·'));




E’ solo un codice di esempio, quindi fai attenzione perché non so se è corretto. Come noterai, il valore è composto da due parti separati da virgola. con la funzione explode le potrai recuperare dopo il submit.

Grazie Sensorario, sempre puntuale e disponibile.

Sono a un passo dal farlo funzionare ma…

qui penso ci sia un refuso:

…($item, ‘id’, ‘nome’)…

al posto di nome dovrebbe esserci: $item[$formato[‘id’]]

giusto?

ho provato ad inserirlo con tutte le sintassi possibili ma non ne esco

grazie anticipatamente

Prova anche con

echo $form->dropDownList($model,‘formato_id’, $item,array(‘empty’ => ‘· · ·’));

Grande!! funziona!! :)

I am the king!!!!!