Значение столбца Yii CGridView, полученное из модели

#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' 
  

// Редактировать: Упс, слишком быстро прочитал ваш вопрос. Я вижу, вы уже нашли решение самостоятельно. 🙂