CGridView编码了该值

Adr*_*wan 1 php yii cgridview

我正在关注这里的文件http://www.yiiframework.com/wiki/278/cgridview-render-customized-complex-datacolumns/

所以我有以下观点

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'item-table-grid',
'dataProvider'=>$model->search(),
'itemsCssClass'=>'item-table-grid',
'columns'=>array(
    'customer_name',
    array(
        'name'=>'Edit',
        'value'=>array($model, 'editLink'),
    ),
),
));
Run Code Online (Sandbox Code Playgroud)

这是模型中的editLink函数

public function editLink($data, $row) {
    $link = '';
    if ($data->is_draft) {
        $link = '<a href="customer/update/'.$data->id.'">Edit</a>';
    }
    return $link;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是返回值是编码的,所以我得到<a href=...>

有没有办法告诉CGridView不要对值进行编码?

谢谢

Ser*_*gey 5

解决方案A:

array(
    'name'=>'Edit',
    'type' => 'raw',
    'value'=>array($model, 'editLink'),
),
Run Code Online (Sandbox Code Playgroud)

B :(还不够好)

array(
    'name' => 'Edit',
    'class' => 'CLinkColumn',
    'urlExpression' => '$data->is_draft ? "customer/update/{$data->id}" : "#disabled"',
    'label' => 'edit',
),
Run Code Online (Sandbox Code Playgroud)