我有这样的代码:
<?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工作正常,但如何设置链接的文本?
8条答案
按热度按时间rbpvctlc1#
请使用
'format' => 'raw'
而不是'format' => 'url'
。5f0d552i2#
我从Samdark那里得到了解决方案,Yii的贡献者。需要使用format=〉'raw':
需要使用Html::encode()来封装XSS
wixjitnu3#
解决方法:
sh7euo9m4#
尝试
https://github.com/yiisoft/yii2/blob/master/framework/helpers/BaseHtml.php
m528fe3b5#
使用原始格式
3npbholx6#
我想我得到了解决办法:
代码:
应该稍微修改一下。假设您的字段名在数组'country'中,那么代码应该是这样的:
所以我用 Html::a 代替了 Html::url,并将超链接的值添加为 $data ['country']。希望这能有所帮助。
oogrdqng7#
如果需要将属性设置为label,请尝试以下方法:
piwo6bdm8#
请尝试以下代码。