Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony][SF2][Symfony2] Listener + Entity
aras785
post
Post #1





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Witam.

Mam: Listener który ma za zadanie usuwać cache obrazków ze starymi nazwami.

Mam edycja zdjęcia -> tylko edytujemy w formularzu: title
Obecnie w title jest: image1 - więc obrazek to image1.jpg
Teraz chcę zmienić nazwę na image2 i chcę image1 przekazać do Listener.

W entity dodałem sobie zmienna: $old_image;

Następnie w
  1. @ORM/PreUpdate daję $this->old_image = $this->getImage(); //nazwa pliku starego

Kolejne w Listener odbieram tak:

  1. public function preUpdate(LifecycleEventArgs $args)
  2. {
  3. $entity = $args->getEntity();
  4.  
  5. if($entity instanceof \Acme\Bundle\TestBundle\Entity\Test) {
  6. $entity->old_image;
  7. }
  8.  
  9. }


Wszystko działa ale w $entity->old_image otrzymuję: image2, a powinno być image1.
W PreUpdate w entity mam dobrą wartość (image1)... Wiecie dlaczego tak jest?

ps. nie wiem ale poprzednich rzeczach mi to działało, a obecnie coś nie chce :/

Cześć.

Rozwiązałem problem.
Błąd polegał na tym, że odczytywałem ścieżkę przez:

  1. public function getWebPath()
  2. {
  3. return null === $this->image ? null : $this->getUploadDir().'/'.$this->image;
  4. }


a powinno być:

  1. public function getWebPath($name='')
  2. {
  3. if($name!='') return null === $name ? null : $this->getUploadDir().'/'.$name;
  4. return null === $this->image ? null : $this->getUploadDir().'/'.$this->image;
  5. }


żal... (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:55