Render/Redirect zu einer Anderen Ansicht Über Portlets
Ich habe ein login-portlet eingerichtet und läuft, basiert auf diese tutorial. Es funktioniert gut, jedoch, wenn es einen Fehler mit der login-form werden die Fehlermeldungen angezeigt, die innerhalb des Portlets und Sie sind nicht sehr prominent.
Portlet folgt:
class UserLogin extends Portlet
{
public $title='Login';
protected function renderContent()
{
$form=new LoginForm;
if(isset($_POST['LoginForm']))
{
$form->attributes=$_POST['LoginForm'];
if($form->validate())
$this->controller->refresh();
}
$this->render('userLogin',array('form'=>$form));
}
}
Ich würde es vorziehen, irgendwelche Fehler zu verursachen, die login-Versuch, einen redirect zu einer vollständigen login-Formular, wo die Fehler angezeigt werden können, prominent und es wird klar, dass der Benutzer etwas schief gegangen ist.
Etwas entlang der Linien von:
if($form->validate())
$this->controller->refresh();
else
$this->render('login',array('form'=>$form));
Else-bit ist aber nicht richtig, und ich kann nicht scheinen, um herauszufinden, wie es geschehen zu lassen.
InformationsquelleAutor Jason George | 2010-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, etwas zu verwenden, wie
wo
account/login
ist die controller/action-paar für den separaten login-Seite.CWebUser
's flash-Nachrichten-system wird verwendet, um zu liefern, die Fehlermeldung in die neue Aktion (Siehe Yii-Kochbuch Wie die Arbeit mit flash-Mitteilungen).InformationsquelleAutor Grey Teardrop