如何在Yii中的CGridView中进行较小的文本描述

时间:2014-01-08 10:53:43

标签: php yii

我的admin.php中有代码,即我的Yii Project中的视图文件。

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'topic-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'name',
        'description:html',  // I want to change this
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

实际上description:html显示了很多文本描述,存储在我的数据库中。

所以我的问题是,我想在这里打印一行描述。

所以我不知道如何实现它。

任何帮助将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:3)

虽然 hett 给出了答案,但你也可以这样做

array(
            'name'=>'description',
            'value'=>array($this,'showFewLines')
        ),

然后在控制器中创建一个功能

public function showFewLines($data,$row)
{
$allData=$data->description;
return substr($allData, 0, 40);
}

答案 1 :(得分:2)

不知何故

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'topic-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'name',
        array(
            'name'=>'description',
            'value'=>function($data) {
                return substr($data->description, 0, strpos($data->description, '<br>'));
            },
        ),
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>