答案 0 :(得分:2)
如果主要原因是当用户未登录时没有导航栏,则可以始终将导航栏包装在if语句中,检查用户是否在显示导航栏之前先登录:
if(!Yii::$app->user->isGuest) {
// my navbar
}
现在,如果您专门针对此控制器/操作,您可以通过检查控制器和布局中的操作来完成此操作:
if (Yii::$app->controller->id !== 'YourController' && Yii::$app->controller->action->id !== 'YourAction') {
// my navbar
}
或者您可以在操作中指定布局:
public function actionYourAction()
{
$this->layout = 'layoutName';
}