Tout à l'heure, tu récupérais le service avec cela :
$imagine = $this->container->get('liip_imagine.service.filter');
Bon ça ne marchait pas, sûrement car tu avais mal configuré ton service ou mélanger les anciennes et les nouvelles procédures d'installation. Mais tata variable avec ton service se nommait : $imagine.
Maintenant ta variable se nomme $filterService. Je ne connais pas ton IDE, mais s'il ne te fait pas de complétion automatique, tu risques de galérer, d'autant que je ne suis même pas sûr de ce que tu veux faire.
J'ai parcouru rapidement la documentation. J'ai l'impression que ton contrôleur marchait et que tu voulais rajouter un code pour générer la miniature en même temps. Et de ce que je comprends, ce bundle ne fonctionne pas de la sorte.
Du moins, il n'a pas été pensé de la sorte. De ce que je comprends (donc attention, ce que je dis n'est pas paroles d'évangile), Imagine se moque de l'upload, de la taille de l'image. Je ne toucherai pas du tout le contrôleur à ta place.
C'est au moment où tu dois afficher ton image, que Imagine fait le taf. Dans la vue donc, là, au lieu d'appeler l'asset de ton image, je pense que tu devrais appeler les filtres que Imagine met à ta disposition pour transformer l'image à la volée et balancer une miniature.
Et normalement tu as un fichier où tu configures tes filtres justement. Le code ci-dessous est issue de la documentation et il crée un filtre nommé "ma_vignette_a_moi" si j'ai bien compris.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # app/config/config.yml
liip_imagine :
resolvers :
default :
web_path : ~
filter_sets :
cache : ~
# the name of the "filter set"
ma_vignette_a_moi: # <=== ici j'ai renommé pour que ce soit plus clair
# adjust the image quality to 75% quality : 75 # list of transformations to apply (the "filters") filters : # create a thumbnail: set size to 120x90 and use the "outbound" mode # to crop the image when the size ratio of the input differs thumbnail : { size : [120, 90], mode : outbound } |
Donc dans ta vue, au lieu d'afficher ton image en grand comme cela :
<img src="{{ asset('/relative/path/to/image.jpg') }}" />
Tu lui appliques le filtre :
<img src="{{ asset('/relative/path/to/image.jpg') | imagine_filter('ma_vignette_a_moi') }}" />
Partager