Обрезать текст в GridView

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
zxzzxxzx
Сообщения: 3
Зарегистрирован: 2015.09.16, 15:22

Обрезать текст в GridView

Сообщение zxzzxxzx »

Добрый день

подскажите пожалуйста, как обрезать текст в таблице GridView, чтобы он выводился не полностью, а только скажем 200 знаков. Пробовал mb_substr - выдает ошибку, говорит что в mb_substr необходимо передавать строки а не объекты. Текст я беру из базы. По-возможности, к сокращенному тексту хотелось бы добавить кнопку вызова модального окна с показом полного текста. Буду признателен за любой совет.

Спасибо.

Аватара пользователя
vitalik1183
Сообщения: 1673
Зарегистрирован: 2014.07.01, 08:42

Re: Обрезать текст в GridView

Сообщение vitalik1183 »

А как вы пробовали?
Yii2!

zxzzxxzx
Сообщения: 3
Зарегистрирован: 2015.09.16, 15:22

Re: Обрезать текст в GridView

Сообщение zxzzxxzx »

Пробовал через yii\helpers\StringHelper::truncate - выдает ошибку, говорит что не найдена функция, хотя yii\helpers\StringHelper подключаю. Пробовал указывать 'class' => 'yii\grid\ActionColumn', но тогда не понятно как в него вставлять текст из базы. На данный момент все сделано вот так:

Код: Выделить всё

[
            'attribute' => 'purchaseObjectInfo',
            'format' => 'text',
            'value' => function ($model) {
              return  $model->purchaseObjectInfo;
            }]
выдает весь текст и растягивает ячейку по вертикали((. Кроме того, если в ячейку вставить текст без пробелов (например урл), то растягивает еще и по горизонтали, и таблица совсем разъезжается.

Аватара пользователя
ElisDN
Сообщения: 5490
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Обрезать текст в GridView

Сообщение ElisDN »

Код: Выделить всё

[
    'attribute' => 'purchaseObjectInfo',
    'value' => function ($model) {
        return StringHelper::truncate($model->purchaseObjectInfo, 100);
    }
] 

zxzzxxzx
Сообщения: 3
Зарегистрирован: 2015.09.16, 15:22

Re: Обрезать текст в GridView

Сообщение zxzzxxzx »

Спасибо большое, теперь работает))

Alex_N
Сообщения: 68
Зарегистрирован: 2015.03.02, 21:20

Re: Обрезать текст в GridView

Сообщение Alex_N »

ElisDN писал(а):
2015.09.16, 16:20

Код: Выделить всё

[
    'attribute' => 'purchaseObjectInfo',
    'value' => function ($model) {
        return StringHelper::truncate($model->purchaseObjectInfo, 100);
    }
] 
Спасибо! Подскажите пожалуйста, как можно аккуратненько вывести полное значение в модальном окне?

Ответить