Yii2 GridView 中的 URL

2022-08-30 10:43:15

我有这个代码:

<?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 地址生成文本。

/academia-new/advanced/admin/site/index

URL工作正常,但是如何为链接设置文本?


答案 1

请代替 使用 。'format' => 'raw''format' => 'url'


答案 2

我从yii的贡献者Samdark那里得到了解决方案。需要使用 format=>'raw':

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

需要使用 Html::encode() 来 ecape XSS


推荐