Yii zii.widgets.grid.cgridview с типом визуализации html не удалось - PullRequest
0 голосов
/ 15 ноября 2011

Я использую эту сетку для просмотра таблицы с данными:

Просмотреть часть:

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'news-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(       
        array(
            'name'=>'enable',
            'type'=>'html',
            'value'=>'$data->stateHtmlIcon',
        ),      
    ),
)); ?>

В моей модели:

public function getStateHtmlIcon() {
        if ($this->enable == AbstractModel::ENABLE) {
            return '<font class="icon-enable"></font>';
        } else {
            return '<font class="icon-disable"></font>';
        }
    }

Не работает, рендеринг останавливается при отображении столбца с помощью stateHtmlIcon.

Когда я комментирую 'type' => 'html' в сетке (часть представления), она работает, но в столбце html отображается неправильно

<font class="icon-enable"></font>

вместо значка, отображаемого в стиле css.

Так что я думаю, что я неправильно использую 'type' => 'html?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2011

Я недавно использовал

array(
  'type' => 'raw',
  'value' => 'CHtml::link([...])',
),

которая выполняет работу.

Смотрите также

http://www.yiiframework.com/doc/api/1.1/CDataColumn#type-detail

http://www.yiiframework.com/doc/api/1.1/CFormatter

2 голосов
/ 15 ноября 2011

Вы должны использовать «raw» в качестве типа. см CFormatter

raw: значение атрибута не изменится вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...