Maison  >  Article  >  interface Web  >  Comment référencer correctement les images dans les fichiers CSS dans Symfony 2 ?

Comment référencer correctement les images dans les fichiers CSS dans Symfony 2 ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-13 06:10:02682parcourir

How to Properly Reference Images in CSS Files in Symfony 2?

Chemin des actifs dans les fichiers CSS dans Symfony 2

Cette discussion se concentre sur la recherche d'une solution pour référencer des images dans des fichiers CSS tout en conservant le structure de répertoires dans Symfony 2. L'objectif est de résoudre le problème des chemins dans les fichiers CSS et de garantir que les images sont accessibles sans exposer les fichiers source d'origine au public.

Solutions précédentes

Les tentatives initiales impliquaient de coder en dur des chemins absolus dans le fichier CSS, rendant l'application incompatible avec les sous-répertoires. Assetic avec filter="cssrewrite" a également été utilisé, mais cela a entraîné une génération de chemin incorrect.

Solution actuelle (préférée)

La solution préférée consiste à stocker les fichiers CSS dans le répertoire "Resources/assets/css" et les images dans le répertoire "Resources/public/images". Par référencement relatif dans le fichier CSS, tel que "url("../images/myimage.png")", le chemin correct est généré au moment de la compilation. Cette approche fonctionne parfaitement dans les environnements de développement et de production.

Discussion et analyse

L'auteur a effectué des tests approfondis en utilisant diverses combinaisons de @notation, notation relative, réécriture CSS, arrière-plan de l'image par rapport à src, et analyse avec et sans actif. Les résultats ont révélé que seules des options spécifiques produisaient le comportement souhaité.

Explication de la solution

L'approche réussie nécessitait :

  1. Stockage des images dans le Répertoire "public".
  2. Construire CSS à partir du répertoire "public" en utilisant Assetic.
  3. Utilisation de direct balises avec src du répertoire "public/images".

Pensées et considérations finales

Pour plus de sécurité, il est recommandé de stocker les fichiers CSS originaux dans le répertoire "assets" et demandez à votre processus de déploiement de les copier dans le répertoire "public" avant la compilation. Alternativement, il reste possible de stocker les originaux dans le répertoire "public" pour une utilisation --symlink pendant le développement, à condition que vous écriviez la suppression de ces fichiers après la compilation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn