Bonjour,
je suis sur un nouveau projet avec Symfony 4, et comme dans la vidéo de Grafikart, j'utilise Encore et Twig.
Dans mes templates, j'arrive désormais à charger les fichiers CSS et JS mais je galère à charger tout simplement les images.
J'ai essayé:

  • j'ai mis les images dans un dossier img de mon dossier public/build puis je les ai chargé dans mon template avec
src='{{ asset('build/img/share.png') }}'

ça marche quand je recharge la page, mais si je "recompile" comme d'habitude quand je fais des changements CSS avec

.\node_modules\.bin\encore dev

ça me supprime l'image du dossier public/build/img et donc ça ne remarche évidemment plus

  • j'ai mis mon image share.png dans assets/img/ , j'ai ajouté une entrée dans webpack.config.js :
.addEntry('share', './assets/img/share.png')

puis j'ai "compilé" (comme dit plus haut, .\node_modules....). Cela m'a créé un dossier images dans public/build avec dedans mon image, nommée share.1c5182bf.png. Désormais si je charge mon image dans mon template avec

src='{{ asset('build/images/share.1c5182bf.png') }}'

ça marche et mon image est bien chargée. Problème: je pense pas que créer un point d'entrée pour chaque image et à chaque fois devoir chercher le nouveau nom de notre image soit le plus rapide et ergonomique.

Du coup, il y a-t-il une solution simple pour charger mes images depuis mon template Twig avec Encore sur Symfony 4 ?

Merci d'avance

1 réponse


Jules Dupont
Auteur
Réponse acceptée

Solution
My bad, en fait j'ai trouvé c'était tout bête.
J'ai mis mes images dans un nouveau dossier images dans le dossier public puis j'ai chargé mes images avec src="{{ asset('images/monimg.png') }}"