49

私はこのコードを持っています:

<?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 は正常に機能していますが、リンクのテキストを設定するにはどうすればよいですか?

4

8 に答える 8

67

'format' => 'raw'の代わりに 使用し'format' => 'url'ます。

于 2014-05-24T18:07:09.187 に答える
10

解決:

<?=  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'],
  ],
]); ?>
于 2014-11-25T13:41:50.547 に答える
4

試す

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

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

于 2014-04-10T14:46:24.673 に答える
3

私は解決策を得たと思います:

コード:

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

少し変更する必要があります。配列「国」のフィールド名を言ってみましょう。コードは次のようになります。

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

したがって、Html::urlの代わりに Html ::aを使用し、ハイパーリンクの値を$data['country']として追加しました。お役に立てれば。

于 2016-02-24T12:04:10.940 に答える