格式化要在Gridview Yii2中显示的文本编辑器数据
我正在使用yii2 gridview, 我有一个名为格式化要在Gridview Yii2中显示的文本编辑器数据,gridview,yii2,yii2-advanced-app,Gridview,Yii2,Yii2 Advanced App,我正在使用yii2 gridview, 我有一个名为description的字段,它包含所有样式和格式丰富的html文本 现在我知道了如何在gridview中显示该数据,并且可以限制该列在网格中显示的字符 但是我现在有两个问题 1) 我在value属性中使用了一个函数来truncate数据,因此我失去了从描述中搜索的能力。那么,我如何截断文本并能够在该列中进行搜索呢 这是我使用的代码 [ 'format' => 'html', 'label' => 'Descript
description
的字段,它包含所有样式和格式丰富的html文本
现在我知道了如何在gridview中显示该数据,并且可以限制该列在网格中显示的字符
但是我现在有两个问题
1) 我在value
属性中使用了一个函数来truncate
数据,因此我失去了从描述中搜索的能力。那么,我如何截断文本并能够在该列中进行搜索呢
这是我使用的代码
[
'format' => 'html',
'label' => 'Description',
'value' => function ($dataProvider) {
$url = $dataProvider->description;
return BaseStringHelper::truncateWords($url,30,null,true);
},
],
2) 这确实解决了主要问题,但在使用该方法后,我在gridview列中显示图像时遇到了问题。我想从description
数据中修剪img
标记(如果有),并在gridview中显示数据,同时还可以进行搜索
我希望你们能理解我的问题。让我知道我能做什么
谢谢你1)你能不能在数据库表中增加一个数据列,然后执行以下操作:
$formattedDesc = BaseStringHelper::truncateWords($url,30,null,true);
$model->formattedDescription = $formattedDesc;
将数据导入数据库时,要获取数据。
这通常会将该单元格中的数据显示到gridView中
///
要再次搜索,只需添加
'attribute' => 'your column name',
您可能需要将新属性绑定到搜索模型中
->andFilterWhere(['like or = /// etc.','columnt that you want to search in//',
$this->getAttribute('attribute name')]);
/*请注意,搜索将使用“db column”中的数据进行,并且将显示db column数据(使用您的格式化值)
要将自定义属性添加到搜索模型,请执行以下操作:
public function attributes() {
return array_merge(parent::attributes(), ['customAttribute']);
}
public function rules(){
return [
[['customAttribute'], 'safe'],
];
}
嘿,谢谢你的重播,这真的很有用,但我还有一个问题,img
tag。。因为在我的新db列中,如果img
标记从字符串的一半断开并存储,则它不会显示仅断开字符串的图像..代码示例会很有用,因为我总是使用“format”=>“raw”
,在gridView中显示html