akcja
public function executeDodajInformacje(sfWebRequest $request) { $this->form = new InformacjeForm(); if ($request->isMethod('post')) { $this->form->bind($request->getParameter('informacje'), $request->getFiles('informacje')); if ($this->form->isValid()) { $tytul = $this->form->getValue('tytul'); $tresc = $this->form->getValue('tresc'); $query = new Wiadomosci(); $query -> setTytul($tytul); $query -> setTresc($tresc); $query -> setAutor($this->getUser()->getAttribute('name')); $query -> save(); $id = $query->getWid(); $this->krok = $id; $file = $this->form->getValue('file'); $filename = '1'; $extension = $file->getExtension($file->getOriginalExtension()); $file->save(sfConfig::get('app_upload_oferta_dir').'/'.$filename.$extension); } } }
formularz
<?php class InformacjeForm extends BaseForm { public function configure() { 'tytul' => new sfWidgetFormInputText(), 'tresc' => new sfWidgetFormTextarea(), 'file' => new sfWidgetFormInputFile(), )); $this->widgetSchema->setNameFormat('informacje[%s]'); 'tytul' => new sfValidatorString(), 'file' => new sfValidatorFile(), )); } }