yii2在gridview中更改控制器操作

时间:2014-05-08 02:06:34

标签: gridview controller grid action yii2

我有ItemController并且在actionView中我放了我的Itempicture的gridview,我想当我点击图标视图,更新并删除然后转到ItempictureController。

那么如何用不同的控制器更改gridview中的控制器动作?

4 个答案:

答案 0 :(得分:22)

在您的gridview中,添加

[
  'class' => 'yii\grid\ActionColumn',
  'template' => '{new_action1}{new_action2}',
  'buttons' => [
    'new_action1' => function ($url, $model) {
        return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', 'controller/action?id='.$model->id, [
                    'title' => Yii::t('app', 'New Action1'),
        ]);
    }
  ],
],

希望这会奏效!

答案 1 :(得分:22)

您需要设置yii \ grid \ ActionColumn的$ controller属性。在你的情况下,试试这个:

[
    'class' => 'yii\grid\ActionColumn',
    'controller' => 'itempicture'
]

http://www.yiiframework.com/doc-2.0/yii-grid-actioncolumn.html#$controller-detail

如果您使用的是yii \ data \ ArrayDataProvider,请确保将$ key属性设置为:

$ dataProvider-&gt; key ='id'; // id是Itempicture模型的主键名。

http://www.yiiframework.com/doc-2.0/yii-data-arraydataprovider.html#$key-detail

希望它有所帮助。

答案 2 :(得分:5)

试试这个:

[
   'class' => 'yii\grid\ActionColumn',
   'template'    => '{view}',
   'controller' => 'ItempictureController'
]

https://github.com/yiisoft/yii2/blob/master/docs/guide/output-data-widgets.md#action-column

答案 3 :(得分:3)

[
   'class' => 'yii\grid\ActionColumn',
   'template'    => '{view}',
   'controller' => 'itempicture'
]