您需要添加一个
disabled
属性来禁用该按钮,或者要完全隐藏它,您可以使用 CSS style=display: none;
下面的代码中使用了两者
<p>
<?php
if (Yii::$app->user->isGuest) {
// This button will be displayed, but is disabled
Html::a('Create a Project', ['create'], ['class' => 'btn btn-primary btn-xs', 'disabled' => 'disabled']);
} elseif(Yii::$app->user->identity->username) {
Html::a('Create a Project', ['create'], ['class' => 'btn btn-success']);
} else {
// This button will not be displayed (it is hidden)
Html::a('Create a Project', ['create'], ['class' => 'btn btn-primary btn-xs', 'style' => 'display: none;']);
}
?>
</p>
首先,您无法禁用
a
标签。 disabled
属性在 Button
标签上运行良好,例如:
<?= Html::Button('Project', ['class' => 'btn btn-success', 'disabled' => Yii::$app->user->isGuest ]) ?>
如果您确实想禁用
a
标签,那么您可以使用以下示例:
HTML:
<a id="a1" href="http://www.google.com">Google 1</a>
Javascript:
$('#a1').attr('disabled', 'disabled');
$('a').on('click', function(e) {
if ($(this).attr('disabled') == 'disabled') {
e.preventDefault();
}
});
如果您只是在用户中检查
logged
,则使用 !Yii::$app->user->isGuest
,但您会忘记 echo
:
if (!Yii::$app->user->isGuest) {
echo Html::a('Create a Project', ['create'], ['class' => 'btn btn-primary btn-xs'])
}
您还可以使用“禁用”类:
echo Html::a('Create Item', ['create'], ['class' => 'btn disabled']);
在尝试一些解决方案时偶然发现了这种方法。 :D