2013-07-03 2 views
2

В SilverStripe < 3 вы можете сделать что-л, как это в форме действияПеренаправление после формы представления

Director::redirect(Director::baseURL(). $this->URLSegment . "/?success=1"); 

, а затем в шаблоне вы можете проверить с <%, если Success%>, если форма представляется.

в> 3.1 вы получите

Fatal error: Call to undefined method Director::redirect() 

как-то один shold использовать SS_HTTPRequest, но я не понимаю, как использовать этот парень.

Я хочу показать сообщение об успешном прохождении после отправки формы.

ответ

3

Предполагая, что вы регулируете представление формы в Controller для перенаправления можно использовать

$this->redirect(Director::baseURL() . $this->URLSegment . "/?success=1");

+0

спасибо colymba - это первая часть для меня. весь этот материал режиссера все еще мистерия для меня. это сохранить, чтобы добавить smth, как это в контроллере, чтобы принять решение в шаблоне с <% if success%>? \t public function success() { \t \t return ($ this-> getRequest() -> getVar ("success"))? true: false; \t} – munomono

+0

Я не понимаю, почему это было бы не безопасно, так уверен. Хотя даже без отправки формы и изменения URL-адреса это все равно вернет true, так что вам может понадобиться выполнить двойную проверку ... – colymba

+0

ну, это просто возвращает true, если успех имеет параметр, поэтому он не возвращает true в каждом случае. для двойной проверки - возвращает false, если ./?success=0 - или что вы имеете в виду? – munomono

Смежные вопросы