Здравствуйте, в меня проблема, не могу создать нормальный массив.
делаю дроп-даун меню.
вот код:
<?php echo CHtml::beginForm('/index.php?r=menu/admin','GET', array('class'=>'langform', 'name'=>'setlang'));?>
<?php echo 'CHOOSE LANGUAGE: '.CHtml::dropDownList('lang', '1', language::model()->getLang(), array ('onChange' => "document.setlang.submit();"));?>
<?php echo CHtml::endForm();?>
формирую в модели getLang() так:
public function getLang()
{
$all_type = language::model()->findAll();
$i=1;
foreach($all_type as $n=>$model):
$type[$i] = array($model->short => $model->long);
$i++;
endforeach;
return $type;
}
Получаю на выходе вот такой Source естественно:
<form class="langform" name="setlang" action="/index.php?r=menu/admin" method="GET">CHOOSE LANGUAGE: <select onChange="document.setlang.submit();" name="lang" id="lang">
<optgroup label="1">
<option value="eng">English (Base)</option>
</optgroup>
<optgroup label="2">
<option value="rus">Russian</option>
</optgroup>
<optgroup label="3">
<option value="fra">French</option>
</optgroup>
</select></form>
не нравится: <optgroup …></optgroup>
Как сформировать массив в моей модели нормальный?
чтобы было не так:
array(array(name=>value), array(name=>value))
а вот так:
array( name1=>value1, name2=>value2, ... , nameN=>valueN )
Все перепробовал, может подскажет кто?