Доступ к sfWebRequest в классе форм Symfony? - PullRequest
0 голосов
/ 13 июля 2011

I В настоящее время пишу форму для пользователя, чтобы создать новую запись, которая требует IP-адрес пользователя.

Я готов: $this->getObject()->setIp(ip2long($sf_request->getRequest()->getHttpHeader ('addr','remote')));

Но очевидно, что у меня нет объекта $ sf_request в моей модели формы. Как я могу получить к нему доступ и получить IP-адрес пользователя?

Спасибо

Ответы [ 2 ]

0 голосов
/ 13 июля 2011

Через минуту подумайте об этом.Я перемещаю метод setIP в свое действие и перезаписываю метод processForm по умолчанию следующим образом:

  public function processForm(sfWebRequest $request, sfForm $form){
    $form->getObject()->setIp(ip2long($request->getHttpHeader ('addr','remote')));
    return parent::processForm($request, $form);
  }

Он работает просто отлично.

0 голосов
/ 13 июля 2011

Попробуйте это:

Доступ к параметру $ request метода Action и извлечение ip из заголовков http. Затем в файле представления попытайтесь отправить переменную в качестве параметра в файл формы. Я не знаю точно, как, но я знаю, например, что вы можете передать объект в качестве параметра в форму, чтобы заполнить его

Удачи

...