如何在GridView中的任何行项目上添加URL链接?
/**
* @ORM\ManyToOne(targetEntity="Specialty", inversedBy="professionals")
* @ORM\JoinColumn(name="specialty_id", referencedColumnName="id", onDelete="CASCADE")
* @Algolia\Attribute
*/
private $specialty;
我需要在电子邮件行上使用与铅笔图标操作列相同的编辑网址。我使用的是Yii 2.0版本。
我试图像这样实现它:Add column as link in CGridView 但没有运气。
答案 0 :(得分:2)
假设您需要电子邮件字段上的链接,此链接适用于您的控制器/ youraction / email
在您的列中,您可以使用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',
如果你需要id
'columns' => [
[
'attribute' => 'email',
'label' => 'Email',
'format' => 'raw',
'value' => function ($model) {
return "<a href='" . Url::to(['yourcontroller/youraction',
'id'=>$model->id]) . "
' >". $model->id ." </a>";
},
],
'vat_code',
'code',