Yii Framework GridView功能

时间:2017-03-06 11:24:24

标签: php gridview yii

如何在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 但没有运气。

1 个答案:

答案 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',