admin generatorのeditアクションで、編集後に再度編集画面ではなく、リストに飛ばしたい要件があったのでメモ。例によってSymfony 1.4+Doctrine+admin generator。
class hogeActions extends autoHogeActions { public function executeUpdate(sfWebRequest $request) { $this->forward404Unless($request->isMethod('put')); $this->hoge = $this->getRoute()->getObject(); $this->form = $this->configuration->getForm($this->hoge); if ($this->form->bindAndSave($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName()))) { $this->redirect('hoge'); } $this->setTemplate('edit'); } }
executeUpdateをオーバーライドすればOKのようです。ここではisMethodがputなことに注意。