Symfony: как передать переменную между executeNew () и executeCreate ()? - PullRequest
1 голос
/ 02 февраля 2011

в symfony / doctrine, я хочу установить в форме значение, содержащееся в параметре URL

offer/registration/new?offer_id=23

  public function executeNew(sfWebRequest $request)
  {
    // echo $request->gerParameter('offer_id');
    // echoes 23

    $this->form = $this->configuration->getForm();
    $this->offer_registration = $this->form->getObject();
  }

  public function executeCreate(sfWebRequest $request)
  {
    // echo $request->gerParameter('offer_id');
    // echoes nothing

    $offer = new OfferRegistration();
    $offer->setOfferId($offer_id);
    $this->form = $this->configuration->getForm($offer);
    $this->offer_registration = $this->form->getObject();

    $this->processForm($request, $this->form);

    $this->setTemplate('new');
  } 

Как передать $ offer_id между executeNew () и executeCreate (), чтобыя могу установить правильный OfferId на форме?

PS: Я точно, что я работаю с бэкэнд-модулем администратора

1 Ответ

2 голосов
/ 02 февраля 2011

Вам нужно будет передать параметр при нажатии на ссылку NEW.По умолчанию генератор symfony не передает никаких параметров при создании объекта NEW.

Чтобы изменить генерируемую ссылку, вам необходимо изменить созданный файл шаблона.Лучший способ сделать это - извлечь его из папки кэша и скопировать в папку / backend / modules / templates, а затем изменить этот файл.быть найденным здесь

Найдя файл, который генерирует ссылку Создать новую, вы можете изменить эту ссылку, добавив параметр.

...