2017-11-23 22 views
0

번들을 설치하고 소나타 관리 번들로 구성했습니다. 이미지를 제거하려고하면 이미지가 폴더에서 제대로 삭제되지만 미디어/캐시에 저장된 축소판은 삭제되지 않습니다. .liip imagine bundle의 미디어/캐시에서 미리보기 이미지 삭제하기

이 내 liip_imagine의 YML입니다 : 왜 또는 어떻게 작은 이미지를 삭제하려면

liip_imagine: 

loaders: 
    loader_s3_thumbnail: 
     stream: 
      wrapper: gaufrette://questions_image_fs/ 

filter_sets: 
    question_thumb: 
     cache: default 
     data_loader: loader_s3_thumbnail 
     # list of transformations to apply (the "filters") 
     filters: 
      thumbnail: { size: [120, 120], mode: outbound } 

    provider_thumb: 
     cache: default 
     data_loader: loader_s3_thumbnail 
     # list of transformations to apply (the "filters") 
     filters: 
      thumbnail: { size: [200, 200], mode: inset } 

어떤 생각?

답변

0

Workmate는 Liip cachemanager를 사용하여 문제를 해결했습니다.

서비스 :

question.admin_bundle.event_listener.delete_thumbnails: 
    class: QuestionAdminBundle\EventListener\DeleteThumbnails 
    arguments: [ "@liip_imagine.cache.manager" ] 
    tags: 
     - { name: kernel.event_listener, event: vich_uploader.pre_remove, method: postRemove} 

PHP :

use Liip\ImagineBundle\Imagine\Cache\CacheManager; 
[...] 
public function __construct(CacheManager $cacheManager) 
{ 
    Add a comment to this line 
    $this->cacheManager = $cacheManager; 
} 
[...] 
public function postRemove(Event $event) 
{ 
    $image = $event->getObject(); 
    if ($image instanceof Image){ 
     $this->cacheManager->remove($image->getName()); 
    } 
} 
여기에 코드입니다