yii2 getter

时间:2022-11-14 14:29:02

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