Я пытаюсь объединить две независимые формы (войти и зарегистрироваться) в
та же страница.
Моя идея (просто глядя на форму входа):
Создать действие, которое показывает обе формы (частичные):
public function executeLoginAndRegister(sfWebRequest $request){
$this->form_signin = $this->getUser()->getAttribute('form_signin');
}
Каждый частичный вызов своего действия:
form action = "php?> Echo url_for ('@ sf_guard_signin')?>" Method = "post">
В своих действиях я пишу этот код
public function executeSignin($request)
{
//...
$this->form = new $MyFormclass();
if ($this->form->isValid())
{
//...
}else{
// save the form to show the error messages.
$this->getUser()->setAttribute('form_signin', $this->form);
return $this->forward('sfGuardAuth', 'loginAndRegister');
}
}
Это работает, но, например, если я выполню LoginAndRegister и отправлю
неправильно войти в форму, и я иду на другую страницу, а затем вернусь к
LoginAndRegister, я найду сообщения об ошибках при отправке ...
Если я выполню LoginAndRegister и неправильно отправлю форму входа и
откройте другую вкладку браузера, я найду сообщения об ошибках в
форма входа на второй вкладке ...
Есть идеи? лучше подход?