yii2 getter

GridView 表格多余内容显示 ...

1、直接在 GridView 中使用匿名函数书写,这种适合单个使用

 <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            [
                'attribute' => 'content',
                'value' => function($model){
                    $tmpStr = strip_tags($model->content);
                    $strLen = mb_strlen($tmpStr);
                    return mb_substr($tmpStr,0,10) . (($strLen>10) ? '...' : '');
                }
            ],
          
        ],
    ]); ?>

2、使用 getter 的方法,这样更适用于很多内容都需要显示 ... 

在对应的模型文件中写入如下代码:例如评论模型 Comment.php

class Comment extends \yii\db\ActiveRecord
{
    public function getBeginning()
    {
        $tmpStr = strip_tags($this -> content);
        $strLen = mb_strlen($tmpStr);
        return mb_substr($tmpStr,0,10,'utf-8') . (($strLen > 10) ? '...' : '');
    }

}

然后再在对应的视图文件的GridView中写入:

 <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            [
                'attribute' => 'content',
                'value' => 'beginning',
            ],
        ],
    ]); ?>

 注:本文为作者(44106-kangaroo) 看完魏羲教你学Yii2.0 视频后所记,如有转载请注明出处:http://www.cnblogs.com/chrdai/p/7988679.html

posted @ 2017-12-05 18:15  Chrdai  阅读(330)  评论(0编辑  收藏  举报