我有 ItemController 并在 actionView 中放置了 Itempicture 的 gridview,我希望当我单击图标视图时,更新和删除,然后转到 ItempictureController。
那么如何使用不同的控制器更改 gridview 中的控制器操作?
您需要设置 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->key = 'id'; //id 是您的 Itempicture 模型的主键名称。
http://www.yiiframework.com/doc-2.0/yii-data-arraydataprovider.html#$key-detail
希望有帮助。
在你的网格视图中,添加喜欢
[
'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'),
]);
}
],
],
希望这会起作用!
试试这个:
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view}',
'controller' => 'ItempictureController'
]
https://github.com/yiisoft/yii2/blob/master/docs/guide/output-data-widgets.md#action-column
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view}',
'controller' => 'itempicture'
]
我无法让控制器变量工作,即使它过去是这样。
不得不求助于:
[
'class' => 'kartik\grid\ActionColumn',
'urlCreator' => function($action, $model, $key, $index) {
return Url::to(['new-test/'.$action,'id'=>$key]);
},...]
记住,当控制器类似于 NewTestController 时,实际链接 url 应该是“new-test/action”