Maison > interface Web > tutoriel CSS > le corps du texte

Comment référencer correctement les actifs dans les fichiers CSS dans un projet Symfony 2 ?

Patricia Arquette
Libérer: 2024-11-16 06:06:02
original
958 Les gens l'ont consulté

How to Correctly Reference Assets in CSS Files Within a Symfony 2 Project?

Chemin des actifs dans les fichiers CSS dans Symfony 2

Symfony 2 fournit un mécanisme pour gérer les actifs, tels que les fichiers CSS et image, via la composante Actif. Cependant, spécifier le chemin correct vers les actifs référencés en CSS peut être un défi dans certaines structures de répertoires de projet.

Aperçu du problème

Considérez la structure de répertoires suivante :

Dans ce cas, les fichiers CSS résident sous /app/Resources/assets/css, tandis que les images se trouvent dans /web/images. L'objectif est de référencer ces images à partir des fichiers CSS.

Solutions échouées

Première solution : chemins absolus

Changer les chemins des fichiers CSS en URL absolues n'est pas une solution viable car l'application ne s'exécute pas toujours à la racine

Deuxième solution : Assetic avec le filtre CSSrewrite

L'utilisation d'Assetic avec le filtre "cssrewrite" échoue également, car le code généré ne produit pas le chemin correct vers le répertoire images.

Solution actuelle : relative Chemins

La définition des chemins d'image relatifs aux fichiers CSS fonctionne dans l'environnement de production mais échoue dans l'environnement de développement.

Solution de travail

La solution la plus efficace consiste à stocker les fichiers CSS dans un répertoire accessible au public et à reconstruire le CSS lors du déploiement. Voici comment cela fonctionne :

  1. Déplacez les fichiers CSS vers Resources/public/css.
  2. Mettez à jour le modèle Twig pour référencer les fichiers CSS à partir du répertoire public.
  3. Utilisez la commande assets:install --symlink pour créer des liens symboliques vers les fichiers CSS publics aux emplacements appropriés.
  4. Pendant le déploiement, supprimez le fichiers CSS originaux du répertoire public, ne laissant que les liens symboliques.

Avec cette approche, les fichiers CSS sont recompilés lors du déploiement, garantissant qu'ils contiennent les chemins corrects vers les images. Les images elles-mêmes se trouvent toujours dans le répertoire web/images, mais elles ne sont pas accessibles directement par les utilisateurs.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal