Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] upload pliku w symfony 1.2 w embedForm
Forum PHP.pl > Forum > PHP > Frameworki
stachuf11
witam
mam 2 tabele, produkty i pliki, tabela pliki jest w realicji z tabelą produkty i ma pole produkty_id, oraz pole plik

  1. <?php
  2. class ProduktyForm extends BaseProduktyForm
  3. {
  4.  public function configure()
  5.  {
  6.   foreach($this->getObject()->getPlikis() as $plik)
  7.     {
  8.       $formularz=new PlikiForm($plik);
  9.        $this->embedForm('Pliki'.$plik->getId(), $formularz );
  10.     }
  11.    $formularz=new PlikiForm();
  12.    $this->embedForm('pliki',$formularz);
  13.  
  14.  
  15.  }
  16. ?>


oraz

  1. <?php
  2. class PlikiForm extends BasePlikiForm
  3. {
  4.  public function configure()
  5.  {
  6.    $this->widgetSchema['plik']= new sfWidgetFormInputFile();
  7.     $this->validatorSchema['file'] = new sfValidatorFile(
  8.  'required'   => false,
  9.  'path'       => sfConfig::get('sf_upload_dir').'/jobs',
  10.  'mime_types' => 'web_images',
  11. )
  12. );
  13.  
  14.  }
  15. ?>

gdy controlerze wywołam
  1. <?php
  2. $this->form1=new ProduktyForm();
  3. ?>


, działa to poprawnie, pliki są uploadowane w podformularzach , a teraz mam pytanie, jak kontrolować nazwę pliku uploadowanego, lub ewentualnie przeskalować rozmiar obrazka, w jakiej akcji w widgecie to umieścic?
lukis
znalazles moze rozwiazanie?

pewne rozwiazanie widze tutaj: http://forum.php.pl/index.php?showtopic=11...&hl=symfony

sam mam podobny problem w generatorze backendu symfony 1.2.5 doctrine

chce moc zmienic nazwe zapisywanego pliku i ewentualnie przeprowadzic inne modyfikacje

jak znajde sam rozwiazanie to napisze
stachuf11
ja używam propela, ale rozwiązanie może nie za elegancie znalazłem tutaj

http://www.symfony-project.org/forms/1_2/e...pel-Integration

na samym dole jest opis akcji

  1. <?php
  2. public function updateObject($values = null)
  3.  {
  4.    $object = parent::updateObject($values);
  5.  
  6.    $object->setFile(str_replace(sfConfig::get('sf_upload_dir').'/', '', $object->getFile()));
  7.  
  8.    return $object;
  9.  }
  10. ?>


czyli akcja updateObject, zmieniam nazwę już załadowanego poliku no i również w obiekcie, można tutaj też np zmienić rozmiar załadowanego pliku graficznego pluginem thumbnail itp, jeśli coś fajniejszego znajdziesz daj znac

przykład do którego link podałeś dotyczy akcji w kontrolerze, a to co ja podałem dotyczy definicji modelu formularza w lib/forms
lukis
znalzlem cos takiego jeszcze na stronie symfony w manualu o widgetach

jeszcze nie testowalem ale mam nadzieje, ze bedzie dzialac

najbardziej interesuje mnie mozliwosc nadania nazwy plikowi zgodnej z ID w bazie danych

http://www.symfony-project.org/tutorial/1_...b8c7_validators
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.