URL-адрес в yii2 gridview

В yii2 gridview у меня есть этот код:

<?php echo GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], [ 'label'=>'bla', 'format' => 'url', 'value'=>function ($data) { return Html::url('site/index'); }, ], ['class' => 'yii\grid\ActionColumn'], ], ]); ?> 

В режиме сетки текст генерируется с адресом URL.

/ ВУЗЫ новый / расширенный / админ / сайт / индекс

Url работает нормально, но как я могу установить текст для ссылки?

Используйте 'format' => 'raw' вместо 'format' => 'url' .

Я получил решение от Samdark, участника yii. нужно использовать format => 'raw':

 ... 'format' => 'raw', 'value'=>function ($data) { return Html::a(Html::encode("View"),'site/index'); }, 

необходимо использовать Html :: encode () для перехода XSS

решение:

 <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], [ 'label'=>'bla', 'format' => 'raw', 'value'=>function ($data) { return Html::a(['site/index']); }, ], ['class' => 'yii\grid\ActionColumn'], ], ]); ?> 

пытаться

 return Html::a('link_text','site/index'); 

https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseHtml.php

Думаю, я получил решение:

Код:

 'value'=>function ($data) { return Html::url('site/index'); }, 

Должно быть немного изменено. Скажем, имя вашего поля в массиве «страна», тогда код должен выглядеть следующим образом:

 'value'=>function ($data) { return Html::a($data['country'], ['site/index']); }, 

Поэтому вместо Html :: url я использовал Html :: a и добавил значение гиперссылки как $ data ['country'] . Надеюсь это поможет.

использовать необработанный формат

 <?php echo GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], [ 'label'=>'url', 'format' => 'raw', 'value'=>function ($data) { return Html::a('there is your label',['site/index']); }, ], ['class' => 'yii\grid\ActionColumn'], ], ]); ?>