Je suis NEWBIE dans le cadre YII. Dans Yii, lorsque vous vous connectez par défaut, il redirige vers la page d'index. Je veux que lorsque je me connecterai à Yii, la page redirigera vers une autre page et non la page d'index. Alors quelqu'un peut-il m'aider dans cela. Toute aide ou suggestions sera très appréciable. P>
[modifier] p>
Comment la redirection fonctionnera lorsque j'utiliserai le module utilisateur comme après la connexion de la page est redirigée vers la page de profil? P>
4 Réponses :
Vous pouvez (et en effet, si une redirection va avoir lieu) Spécifiez l'URL à rediriger vers l'intérieur de la méthode actionLogin code> de votre contrôleur. Après une connexion réussie, vous verrez quelque chose comme ce code:
$this->redirect(Yii::app()->user->returnUrl);
Pour rediriger l'utilisateur à une page après la connexion, créez un nouveau contrôleur dans GII pour la page de votre utilisateur, votre utilisateur sera dirigé après son enregistrement. Je vais appeler cette "application" ici. Gii créera automatiquement certains fichiers pour vous - une seule sera /proteint/models/appcontroller.phpecket ,.php, vous aurez une fonction publique (méthode) par défaut appelée ActionIndex. Le but de cette méthode par défaut est d'appeler (rendu) le fichier /proteint/views/app/index.php (également créé par gii pour vous). index.php est le fichier que vos utilisateurs verront une fois qu'ils se connectaient. C'est le fichier que vous souhaitez modifier pour créer votre application. Retour à Sitecontroller.php et modifiez l'argument de Redirect () dans la méthode ActionLogin () P>
if(isset($_POST['LoginForm'])) { $model->attributes=$_POST['LoginForm']; // validate user input and redirect to the previous page if valid if($model->validate() && $model->login()) // since my controller is /protected/controllers/AppController.php $this->redirect(array('app/index')); }
Vous pouvez rediriger vers site / index après connecté à l'aide du module utilisateur.
'modules'=>array( // user extension 'user'=>array( ........... # page after login //'returnUrl' => array('/user/profile'), 'returnUrl' => array('/site/index'), ........ ), ),
$this->redirect($this->createUrl('yourcontroller/youraction'));
Vous voudrez peut-être vérifier Ce lien