php - img - botón yii2 con enlace
yii2 html img (5)
Estoy intentando configurar un botón con un enlace a una vista. Sin embargo, yii/bootstrap/Button
no tiene una propiedad ''url''. Preferiría usar yii como se supone que debo usar simplemente php. El código que se muestra a continuación sería la situación ideal, pero dado que la opción ''url'' no existe, ¿hay alguna otra forma de solucionarlo usando yii?
echo Button::Widget([
''label''=>''label'',
''options''=>[''class'' => ''btn btn-primary''],
''url'' => Url::toRoute([''/controller/action'']),
]);
Para mi funciona:
<?= Html::button(''Press me!'', ArrayHelper::merge([''value''=>Url::to([''controller/action''])], [''additionalOptions''])); ?>
Entonces, use [''value''=> Url::to(),]
lugar de [''url'' => ...]
Puedes probar esto:
Html::button("<span class=''glyphicon glyphicon-plus'' aria-hidden=''true''></span>",
[''class''=>''kv-action-btn'',
''onclick''=>"window.location.href = ''" . /Yii::$app->urlManager->createUrl([''/create'',''id''=>$model->id]) . "'';",
''data-toggle''=>''tooltip'',
''title''=>Yii::t(''app'', ''Create New Record''),
]
)
Si desea que su nombre de etiqueta o botón tenga traducciones
<?= Html::a(Yii::t(''app'',''label''), [''/controller/action''], [''class''=>''pull-right'', ''style'' => ''padding-right:10px;'']) ?>
Si desea agregar un icono para este enlace
<?= Html::a("<i class=/"fa fa-icon/"></i> ".Yii::t(''app'',''label''), [''/controller/action''], [''class''=>''pull-right'', ''style'' => ''padding-right:10px;'']) ?>
si quieres pasar parametros
<?= Html::a(Yii::t(''app'',''label''), [''/controller/action'', id => $model->id], [''class''=>''pull-right'', ''style'' => ''padding-right:10px;'']) ?>
Simplemente puedes usar Html::a() :
<?= Html::a(''label'', [''/controller/action''], [''class''=>''btn btn-primary'']) ?>
O crea tu propia versión de la clase Button
para manejar esto.
PD: no necesitas Url::toRoute
También puedes pasar el parámetro a url
<?= Html::a(''Update'', [''update'', ''id'' => $model->id], [''class'' => ''btn btn-primary'']) ?>
También puedes renderizar el html.
<?= Html::a(''<span class="btn-label">Update</span>'', [''update'', ''id'' => $model->id], [''class'' => ''btn btn-primary'']) ?>