Reputation: 2206
I use yii2-grid made by awesome kartik.
My question is, in 'kartik]grid\actionColumn' have default action which is : view, update, and delete. I need to add another action, like 'print', 'email', etc. How can I make do this.
[
'class' => 'kartik\grid\ActionColumn',
'width' => '100px',
'dropdown' => false,
'vAlign' => 'top',
'hiddenFromExport' => true,
'urlCreator' => function ($action, $model, $key, $index) {
return Url::to([$action, 'id' => $key]);
},
'viewOptions' => ['role' => 'modal-remote', 'class' => 'btn btn-xs ', 'title' => 'View', 'data-toggle' => 'tooltip'],
'updateOptions' => ['role' => 'modal-remote', 'class' => 'btn btn-xs btn-primary', 'title' => 'Update', 'data-toggle' => 'tooltip'],
'deleteOptions' => ['role' => 'modal-remote', 'class' => 'btn btn-xs btn-danger', 'title' => 'Delete',
'data-confirm' => false, 'data-method' => false, // for overide yii data api
'data-request-method' => 'post','data-toggle' => 'tooltip','data-confirm-title' => 'Are you sure?','data-confirm-message' => 'Are you sure want to delete this item'],
],
Please advise.
Upvotes: 0
Views: 1708
Reputation: 3990
You should make use of the template
and buttons
options of the ActionColumn
:
[
'class' => 'kartik\grid\ActionColumn',
'template' => '{view} {update} {delete} {myaction}', // <-- your custom action's name
'buttons' => [
'myaction' => function($url, $model, $key) {
return Html::a('My action icon', [''my action url];
}
]
...
]
Upvotes: 2