показаны переменные get после вызова setTemplate () - PullRequest
0 голосов
/ 20 мая 2010

У меня есть страница showSuccess, которая требует некоторых переменных get, и на этой странице есть форма. Когда форма отправляется в executeCreate () и возникает ошибка, она вызывает функцию setTemplate ('show') и возвращает обратно в showSuccess. Однако переменные get отсутствуют.

Как мне сохранить URL-адрес одинаковым?

1 Ответ

0 голосов
/ 21 мая 2010

Вы можете получить переменные GET из объекта sfWebRequest - должно работать что-то вроде следующего):

public function executeCreate(sfWebRequest $request)
{
  $getVars = $request->getGetParameters();
  $qryString = http_build_query($getVars);

  // ...some form creation and binding

  if (!$form->isValid())
  {
    $this->redirect("module/show?" . $qryString);
  }
}

Возможно, они вам также нужны в форме в шаблоне. Используйте соответствующие части приведенного выше кода в своем действии show, установите для них представление, как и для любой другой переменной, и используйте их в параметре action формы:

<form method="post" action="<?php echo url_for("module/create?" . $qryString); ?>">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...