@VitaliyKaliuzhyn

Форматирование вывода в Gridview yii2?

Есть такой вот код
<?= GridView::widget([
        'filterUrl' => Url::toRoute('index'),
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            [
                'attribute'=> 'body',
                'format'=> 'text'],
            ],
    ]); ?>


который выводит фрагмент страницы, со всеми html тегами. Если же поменять format => 'html', то выводит уже красивый блок html страницы.
Как сделать так что бы выводился только текст без всякого html кода.
  • Вопрос задан
  • 1788 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
[
                'attribute'=> 'body',
               'value' => function($model){return strip_tags($model->body);},
            ],

но я бы вынес в модель:
public function getPureBody(){
return strip_tags($this->body); //тут же можно добавить обрезку по длинный, если это длинный текст
}

и потом в gridView:
'columns' => [
[
                'attribute'=> 'body',
               'value' => 'pureBody'},
            ],
]

или вообще:
'columns' => [
'pureBody'
]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Bandicoot
@Bandicoot
Вась-программист
[
     'attribute'=> 'body',
     'format'=> 'raw',
],
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы