Подтвердить что ты не робот

Кнопка yii2 со ссылкой

Я пытаюсь настроить кнопку со ссылкой на представление. Однако yii/bootstrap/Button не имеет свойства 'url'. Я предпочел бы использовать yii, как предполагалось, просто использовать плоский php. Код, как показано ниже, будет идеальной ситуацией, но поскольку параметр "url" не существует, есть ли другой способ исправить это с помощью yii?

echo Button::Widget([
'label'=>'label',
'options'=>['class' => 'btn btn-primary'],
'url' => Url::toRoute(['/controller/action']),
]);
4b9b3361

Ответ 1

Вы можете просто использовать Html:: a():

<?= Html::a('label', ['/controller/action'], ['class'=>'btn btn-primary']) ?>

Или создайте собственную версию класса Button, чтобы справиться с этим.

PS: вам не нужно Url::toRoute

Ответ 2

вы также можете передать параметр url

<?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>

Вы также можете отобразить html

<?= Html::a('<span class="btn-label">Update</span>', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>

Ответ 3

Вы можете попробовать следующее:

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'),
                    ]
                )

Ответ 4

Если вы хотите, чтобы название вашей метки или кнопка имели переводы

<?= Html::a(Yii::t('app','label'), ['/controller/action'], ['class'=>'pull-right', 'style' => 'padding-right:10px;']) ?>

Если вы хотите добавить значок для этой ссылки

 <?= Html::a("<i class=\"fa fa-icon\"></i> ".Yii::t('app','label'), ['/controller/action'], ['class'=>'pull-right', 'style' => 'padding-right:10px;']) ?>

если вы хотите передать параметры

 <?= Html::a(Yii::t('app','label'), ['/controller/action', id => $model->id], ['class'=>'pull-right', 'style' => 'padding-right:10px;']) ?>