1
GridViewにあるすべての行アイテムにURLリンクを追加するにはどうすればよいですか?Yii Framework GridView関数
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'email:email',
'vat_code',
'code',
'company',
'country',
'city',
'address',
'phone',
'name',
['class' => 'yii\grid\ActionColumn',
'template' => '{update} {delete}',
'buttons' => ['update' => function ($url, $model) {
$url = Yii::$app->urlManager->createUrl(['user/update', 'id' => substr($url, strpos($url, 'id=')+3, strlen($url)), 'type' => substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], 'user/')+5, 8)]);
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [
'title' => Yii::t('app', 'Update'),]);
},
'delete' => function ($url, $type) {
$url = Yii::$app->urlManager->createUrl(['user/delete', 'id' => substr($url, strpos($url, 'id=')+3, strlen($url)), 'type' => substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], 'user/')+5, 8)]);
return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [
'title' => Yii::t('app', 'Delete'),]);
}],
],
],
]); ?>
鉛筆アイコンの操作欄と同じ編集用URLをメール行に追加する必要があります。私はYii 2.0バージョンを使用します。
私はこれをこのように実装しようとしました:Add column as link in CGridView しかし運はありません。あなたは電子メールフィールド上のリンクを必要とし、このリンクを使用して、value属性と匿名関数
use yii\helpers\Url;
.....
'columns' => [
[
'attribute' => 'email',
'label' => 'Email',
'format' => 'raw',
'value' => function ($model) {
return "<a href='" . Url::to(['yourcontroller/youraction',
'email'=>$model->email]) . "
' >". $model->email ." </a>";
},
],
'vat_code',
'code',
し、必要な場合に使用することができます列にyourcontroller/youraction /メール
のためであると仮定すると
大変ありがとうございます。 – The50
答えが更新されました – scaisEdge