私はこのコードを持っています:
<?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は正常に機能していますが、リンクのテキストを設定するにはどうすればよいですか?
つかいます 'format' => 'raw'
の代わりに 'format' => 'url'
。
Yiiの寄稿者であるSamdarkから解決策を得ました。 format => 'raw'を使用する必要があります:
...
'format' => 'raw',
'value'=>function ($data) {
return Html::a(Html::encode("View"),'site/index');
},
xSSをエスケープするにはHtml :: encode()を使用する必要があります
解決:
<?= 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
生のフォーマットを使用する
<?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'],
],
]); ?>
私は解決策を得たと思う:
コード:
'value'=>function ($data) {
return Html::url('site/index');
},
少し変更する必要があります。配列「国」のフィールド名を言うと、コードは次のようになります。
'value'=>function ($data) {
return Html::a($data['country'], ['site/index']);
},
Html :: urlの代わりにHtml :: aを使用し、ハイパーリンクの値を$ data ['country']として追加しました。お役に立てれば。
属性をラベルとして作成する必要がある場合は、これを試してください:
[
'label'=>'' ,
'header'=>Yii::t('app', 'Sample Number'),
'attribute'=>'sample_number',
'width'=>'310px',
'value' => function ($model) {
return Html::a(Html::encode( $model->sample_number),
Url::to(['controller/action', 'sample_number' => $model->sample_number]));
},
'format' => 'raw',
'options'=>['class'=>'success','style'=>'font-weight:bold;'],
],