Я пытаюсь настроить кнопку со ссылкой на вид. тем не мение yii/bootstrap/Button
не имеет свойства ‘url’. Я бы предпочел использовать yii, как предполагается, просто использовать php. Код, приведенный ниже, будет идеальной ситуацией, но поскольку опция ‘url’ не существует, есть ли другой способ исправить это с помощью yii?
echo Button::Widget([
'label'=>'label',
'options'=>['class' => 'btn btn-primary'],
'url' => Url::toRoute(['/controller/action']),
]);
Вы могли бы просто использовать Html :: а () :
<?= Html::a('label', ['/controller/action'], ['class'=>'btn btn-primary']) ?>
Или создайте свою собственную версию Button
класс, чтобы справиться с этим.
PS: вам не нужно Url::toRoute
Вы также можете передать параметр в 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']) ?>
Вы можете попробовать это:
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'),
]
)
Для меня работает:
<?= Html::button('Press me!', ArrayHelper::merge(['value'=>Url::to(['controller/action'])], ['additionalOptions'])); ?>
Итак, используйте ['value'=> Url::to(),]
вместо ['url' => ...]
Если вы хотите, чтобы название вашего ярлыка или кнопка имели переводы
<?= 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;']) ?>