Как получить значение из формы (symfony 1.4) - PullRequest
2 голосов
/ 26 декабря 2011

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

<input type="text" 
    name="produkty[pForm][1][caption]" 
    id="produkty_pForm_1_caption" />

Я пробовал что-то подобное:

$this->form=new ProduktyForm();

if ($request->isMethod(sfRequest::POST))
{
   $this->form->bind($request->getParameter('produkty'),$request->getFiles('produkty'));
   if ( $this->form->isValid())
   {
       $file=$this->form->getValue('produkty[pForm][1][src]');
       $filename='u';
       $extension = $file->getExtension($file->getOriginalExtension());
       $file->save(sfConfig::get('sf_upload_dir').'/'.$filename.$extension);
   }
}

Но это не работает.

1 Ответ

4 голосов
/ 26 декабря 2011

'produkty' - это название вашей формы. Вы используете подчиненную форму для захвата массива возможных файлов для ввода?

Вы можете получить значения всей формы, сделав это.

$form_vals = $this->form->getValues();

Тогда вы могли бы видеть, какие переменные у вас есть в результате.

Вы, вероятно, сможете получить информацию таким образом.

$caption = $form_vals['pForm'][1]['caption']; 

это работает нормально, но как извлечь значения из атрибутов файла. я не могу получить значения из файла ввода мое основное имя формы - слайд, а подчиненная форма - mslide

вот мой код

$this->multiSlideForm->bind($request->getParameter('slide'), $request->getFiles('slide'));
$form_vals = $this->multiSlideForm->getValues();
echo $form_vals['mslide'][0]['slide_name']; //working
echo $this->multiSlideForm->getValue('[mslide][0][file_name]')->getOriginalName();  //not working  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...