[英]Create button with link in Yii2
我正在尝试设置一个带有视图链接的按钮。 但是yii\\bootstrap\\Button
没有属性url
。 我宁愿使用 Yii 作为应该只使用平面 php。 下面的代码将是理想的情况,但由于url
选项不存在,是否有其他方法可以使用 Yii 解决此问题?
echo Button::Widget([
'label' => 'label',
'options' => ['class' => 'btn btn-primary'],
'url' => Url::toRoute(['/controller/action']),
]);
您可以简单地使用Html::a() :
<?= 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;']) ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.