Botones Personalizados

Versión 3 (Guillermo Zdanowicz, 01/04/2016 03:07) → Versión 4/5 (Guillermo Zdanowicz, 04/04/2016 03:24)

h1. Botones Personalizados

Si queremos redireccionar a un formulario especifico con un boton, una de las alternativas es
poner por ejemplo en el formulario de views/compras/view.php

En area donde dice

<pre>
......
<?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?= Html::a('Pagos', ['pagos/index', 'id' => $model->id], ['class' => 'btn btn-primary']) ?> primer alternativa con boton
<?= Html::a('Pagos', ['pagos/index', 'id' => $model->id], ['class' => 'profile-link']) ?> segunda alternativa con link
<?= Html::a('Delete', ['delete', 'id' => $model->id], [
......
</pre>

Como se observa se agrego un boton con nombre pagos que ejecuta el metodo pagos que esta en el controlador

controllers/pagosController.php

En el index del destino, en caso de ser pagos correspondientes a las comparas

<pre>
public function actionIndex()
{

if (isset($_GET['id'])) {
$searchModel = new PagosSearch([ 'idcompra' => $_GET['id'], ] );
} else {

$searchModel = new PagosSearch();
};
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);

return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
]);
}

</pre>

h3. Botones en listados

Para incorporar botones en las grillas del listado

Reemplazar en el index de views/modelo

<pre>

['class' => 'yii\grid\ActionColumn'],
</pre>

Por

<pre>
['class' => 'yii\grid\ActionColumn',
'template'=>'{view} {delete} {generar} ',
'buttons'=>[

'generar' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-plus"></span>', $url, [
'title' => Yii::t('yii', 'Generar Mes'),
]);

}
]
],

</pre>

Redmine Appliance - Powered by TurnKey Linux