urlmanager rutas pretty link example crear yii2

rutas - yii2 pretty url



cómo cambiar la vista, actualizar y eliminar la URL en la columna de acción en yii2 (3)

[ ''class'' => ''yii/grid/ActionColumn'', ''header'' => ''Actions'', ''headerOptions'' => [''style'' => ''color:#337ab7''], ''template'' => ''{view}{update}{delete}'', ''buttons'' => [ ''view'' => function ($url, $model) { return Html::a(''<span class="glyphicon glyphicon-eye-open"></span>'', $url, [ ''title'' => Yii::t(''app'', ''lead-view''), ]); }, ''update'' => function ($url, $model) { return Html::a(''<span class="glyphicon glyphicon-pencil"></span>'', $url, [ ''title'' => Yii::t(''app'', ''lead-update''), ]); }, ''delete'' => function ($url, $model) { return Html::a(''<span class="glyphicon glyphicon-trash"></span>'', $url, [ ''title'' => Yii::t(''app'', ''lead-delete''), ]); } ], ''urlCreator'' => function ($action, $model, $key, $index) { if ($action === ''view'') { $url =''index.php?r=client-login/lead-view&id=''.$model->id; return $url; } if ($action === ''update'') { $url =''index.php?r=client-login/lead-update&id=''.$model->id; return $url; } if ($action === ''delete'') { $url =''index.php?r=client-login/lead-delete&id=''.$model->id; return $url; } } ],

Tengo crear acción en la actualización y ver en el controlador, pero esta acción no cambia en la columna de acción en la página de índice

public function actionLeadView($id){ $id = $_GET[''id'']; $model = Leads::findOne($id); return $this->render(''viewlead'', [ ''model'' => $model, ]); } public function actionLeadUpdate($id){ $id = $_GET[''id'']; $model = Leads::findOne($id); date_default_timezone_set("Asia/Kolkata"); $date = date(''Y/m/d H-i-sa''); if ($model->load(Yii::$app->request->post())) { $model->modified = $date; if($model->validate()){ $model->save(); return $this->redirect([''viewlead'', ''id'' => $model->id]); }else { return $this->render(''updatelead'', [ ''model'' => $model, ]); } } else { return $this->render(''updatelead'', [ ''model'' => $model, ]); } }


Dado que la pregunta es

cómo cambiar la vista, actualizar y eliminar la URL en la columna de acción en yii2

Estoy mejorando la respuesta de @ insane-skull agregando una acción de eliminación

[ ''class'' => ''yii/grid/ActionColumn'', ''template'' => ''{leadView} {leadUpdate} {leadDelete}'', ''buttons'' => [ ''leadView'' => function ($url, $model) { $url = Url::to([''controller/lead-view'', ''id'' => $model->whatever_id]); return Html::a(''<span class="fa fa-eye"></span>'', $url, [''title'' => ''view'']); }, ''leadUpdate'' => function ($url, $model) { $url = Url::to([''controller/lead-update'', ''id'' => $model->whatever_id]); return Html::a(''<span class="fa fa-pencil"></span>'', $url, [''title'' => ''update'']); }, ''leadDelete'' => function ($url, $model) { $url = Url::to([''controller/lead-delete'', ''id'' => $model->whatever_id]); return Html::a(''<span class="fa fa-trash"></span>'', $url, [ ''title'' => ''delete'', ''data-confirm'' => Yii::t(''yii'', ''Are you sure you want to delete this item?''), ''data-method'' => ''post'', ]); }, ]

]


En gridview,

[ ''class'' => ''yii/grid/ActionColumn'', ''template'' => ''{leadView} {leadUpdate}'', ''buttons'' => [ ''leadView'' => function ($url, $model) { $url = Url::to([''controller/lead-view'', ''id'' => $model->whatever_id]); return Html::a(''<span class="fa fa-eye"></span>'', $url, [''title'' => ''view'']); }, ''leadUpdate'' => function ($url, $model) { $url = Url::to([''controller/lead-update'', ''id'' => $model->whatever_id]); return Html::a(''<span class="fa fa-pencil"></span>'', $url, [''title'' => ''update'']); }, ] ]