#php #yii
#php #yii
Вопрос:
Я хочу создать некоторую таблицу CGridView в представлении. И один столбец должен содержать выпадающий список. Основная проблема заключается в том, что этот выпадающий список должен быть сгенерирован model.
Итак, на мой взгляд, я сделал это следующим образом:
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$orders->search(),
'filter' => $orders,
'columns' => array(
array(
'name' => 'actions',
'header' => 'Actions',
'value' => '$data->actions',
'filter' => false,
),
));
И по порядку model:
public function getActions() {
return CHtml::dropDownList('status', $this->status->id, CHtml::listData(Status::model()->findAll(), 'id', 'title'));
}
И я получаю довольно хорошее значение столбца с кодом из этого выпадающего списка, но все специальные символы закодированы в <quot; > и т.д. Просто строка, а не html-элемент.
Итак, как получить реальный выпадающий список html?
[РЕШЕНО] простое добавление ‘type’ => ‘raw’ для этого столбца решило все эти проблемы
Ответ №1:
Специальные символы в CGridView кодируются по умолчанию. Попробуйте добавить следующее в свой массив columns:
'type' => 'raw'
// Редактировать: Упс, слишком быстро прочитал ваш вопрос. Я вижу, вы уже нашли решение самостоятельно. 🙂