pokok
(Pokok1)
February 15, 2012, 1:24pm
1
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
sensorario
(Sensorario)
February 16, 2012, 7:51am
2
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.
pokok
(Pokok1)
February 16, 2012, 10:21am
3
Grazie Sensorario, sempre puntuale e disponibile.
sensorario:
//dropdown
echo $form->dropDownList($model,'formato_id', CHtml::listData($item, 'id', 'nome'),array('empty' => '· · ·'));
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
sensorario
(Sensorario)
February 16, 2012, 10:39am
4
Prova anche con
echo $form->dropDownList($model,‘formato_id’, $item,array(‘empty’ => ‘· · ·’));