Symfony отправить на тот же URL - PullRequest
       33

Symfony отправить на тот же URL

0 голосов
/ 09 декабря 2011

У меня есть форма с некоторыми текстовыми полями, и у меня есть кнопка предварительного просмотра, которая должна отправить форму на тот же контроллер. И затем в контроллере мне нужно извлечь значения и заполнить форму этими значениями для шаблона, чтобы увидеть. Каков наилучший способ достичь этого? Я новичок, поэтому, пожалуйста, будьте ясны.

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Пример контроллера:

public function myControllerName(sfWebRequest $request)
{
  $this->form = new myFormClass();
}

Используйте <?php echo $form->renderFormTag( url_for('@yourRoutingName'), array('method' => 'POST') ); ?> в своем шаблоне и измените @yourRoutingName на тот, который указывает на ваш контроллер.

Теперь измените ваш контроллер на что-то вроде этого:

public function myControllerName(sfWebRequest $request)
{
  $this->form = new myFormClass();

  if ($request->isMethod(sfRequest::POST)
  {
    $this->form->bind( $request->getParameter( $this->form->getName() ) );

    // Check if the form is valid.
    if ($this->form->isValid())
    {
      $this->form->save();
      // More logic here.
    }
  }
}

Часть $this->form->bind( $request->getParameter( $this->form->getName() ) ); связывает опубликованные данные с вашей формой, где $this->form->isValid() возвращает логическое значение, независимо от того, является ли форма действительной или нет.

0 голосов
/ 09 декабря 2011

Вы пробовали это?

$this->redirect($request->getReferer()); //action

если нет, то, пожалуйста, попробуйте и проверьте, работает ли он для вас.

Спасибо.

...