Tela Inicial - Index -> Login

Olá, meu nome é Carlos Moreno e eu estou começando a conheçer melhor o Yii.

No meu projeto, eu desejo que a página inicial seja a tela de login. No entanto, quando eu criei a aplicação no Yii, percebi que a tela inicial não é a de login.

Ao verificar a controller/SiteController, modifiquei a actionIndex para redirecionar para a página de login:




	public function actionIndex()

	{	

		// renders the view file 'protected/views/site/index.php'

		// using the default layout 'protected/views/layouts/main.php'

		$this->render('login');

	}




Ele apresentou o seguinte erro:

PHP notice:

Undefined variable: model

Após declarar a model na actionIndex:




	public function actionIndex()

	{	

		// renders the view file 'protected/views/site/index.php'

		// using the default layout 'protected/views/layouts/main.php'

		

		$model = new LoginForm;

		

		$this->render('login',array('model'=>$model));

	}



Ele resolveu o problema, mas apareceu outro: Sempre que eu digito o login e a senha (admin ou demo), ele nao realiza o login, simplesmente retorna para a pagina de login. Alguem poderia me ajudar?

Lembrando: Desejo que, no projeto, a tela inicial seja a de login.

Tente isso:




public function actionIndex()

{

    if (Yii::$app->user->isGuest) {

        return $this->redirect(['login']);

    }


    return $this->render('index');

}



CM20,

A tela de login será já no front-end ou irá criar um modulo para gerenciar o conteúdo?

Olá Carlos,

Você pode utilizar um recurso para que o yii redirecione o usuário para a página de login, caso o mesmo não esteja logado: http://www.larryullman.com/2010/07/20/forcing-login-for-all-pages-in-yii

Abraços!

CM20 nos meus sempre faço assim, alterar em \www\Sistema\protected\controllers\SiteController.php





    public function actionIndex() {

        if (Yii::app()->user->isGuest) {

            $this->forward('site/login');

        } else {

            $this->render('index');

        }

    }