Yii2中的登录问题

时间:2017-06-08 19:27:28

标签: yii yii2

我的代码结果如下:

enter image description here

我想登录帐户,但我不知道如何修改“欢迎”消息,以便只有在我们登录帐户时才会显示该消息。有谁知道如何修改它?我正在使用Yii2框架。 这是我的代码: 路径:frontend\views\layout\main.php:

https://pastebin.com/Qqj1fb8f

和索引PATH:frontend \ views \ site \ index:

https://pastebin.com/UwCezAmn

请帮我解决这个问题。提前致谢

1 个答案:

答案 0 :(得分:1)

在你的布局中(例如:views \ layout \ main.php)你有一些像这样的登录代码

    if (Yii::$app->user->isGuest) {
        $menuItems[] = ['label' => 'Login', 'url' => ['/user/login']];
    }

asn你可以使用这个菜单项调用来控制器/动作(在这种情况下是/ user / login)

然后在相应的控制器/动作中 你应该有这样的代码

public function actionLogin()
{
    if (!\Yii::$app->user->isGuest) {
        $this->goHome();
    }

    $model = \Yii::createObject(LoginForm::className());

    $this->performAjaxValidation($model);

    if ($model->load(Yii::$app->getRequest()->post()) && $model->login()) {
        return $this->goBack();
    }

    return $this->render('login', [
        'model'  => $model,
        'module' => $this->module,
    ]);
}

您可以看到用户是否已登录(而不是isGuest)

  if (!\Yii::$app->user->isGuest) {
        $this->goHome();
    }

在这种情况下调用goHome函数

但您可以为视图调用渲染,并且您更喜欢使用自己喜欢的欢迎信息 例如:

       return $this->render('my_welcome', [
        'model'  => $model,
     ]);