Yii2: Как показать меньше строк во всех строках Gridview?
1 ответ
Отображать текст в зависимости от количества указанных строк. Предполагая, что текст в БД с
Сохраненный. тоже \n
Вы делаете это в соответствии с необходимым разделителем.... <br>
или же <p>
...
// Attribute name: text
[
'attribute' => 'text',
'format' => 'html',
'value' => function ($model) {
$array= array_chunk(explode('<br>', nl2br($model->text)),4);
return implode("<br>",$array[0]);
},
],
Отображать текст в зависимости от количества указанных символов
[
'attribute' => 'text',
'value' => function ($model) {
// without breaking the word
return mb_substr($model->text,0,strpos($model->text, ' ', 400));
// by breaking the word
return mb_substr($model->text, 0, 400, mb_detect_encoding($model->text))." ...";
},
],
Отображать текст в зависимости от ширины элемента. Максимальная ширина
[
'contentOptions' => ['style' => 'text-overflow: ellipsis; white-space: nowrap; max-width: 25vw; overflow: hidden;'],
'attribute' => 'text',
'value' => function ($model) {
return $model->text;
},
],
отображать текст в зависимости от высоты
Примечание: измените высоту в соответствии с вашим шрифтом и требованиями.
[
'format' => 'raw',
'attribute' => 'text',
'value' => function ($model) {
return '<div style="line-height: 1.2em; height: 4.8em; overflow: hidden;">'.\yii\helpers\HtmlPurifier::process($model->text).'</div>';
},
],