Pregunta

Estoy usando Assetic y Twig en una aplicación web. No estoy usando el marco Symfony2.

La estructura del proyecto se ve así

  • aplicación

    • estilos
    • imágenes
  • www

    • CSS
    • imágenes

Tengo este marcado usando la etiqueta de hojas de estilo Assetic en una de mis plantillas:

{% stylesheets 'style/a.css' filter='cssrewrite' output='css/*'%}
   <link href="{{ asset_url }}" rel='stylesheet' type='text/css'>
{% endstylesheets  %}

Actualmente la aplicación está alojada en http: // localhost/myapp/ y uno accedería a él a través de http: // localhost/myapp/www

He escrito una tira de vertedero que compila mis activos y los arroja a los directorios bajo www.

En mi CSS, estoy haciendo referencia a mis imágenes usando rutas absolutas (que funciona):

#myelement{
  background: url('/app/www/images/b.png') no-repeat;
}

Si uso una ruta relativa (con el filtro CSSReWrite), la URL no se reescribe:

#myelement{
  background: url('images/b.png') no-repeat;
}

Me gustaría usar mi URL como solo images/b.png y luego deje que el Dumper Assetic determine la ruta completa.

He habilitado el filtro CSSReWrite, pero no parece estar haciendo nada. ¿Cómo puedo suministrar una ruta relativa en mi CSS y hacer que CSSREWrite lo reescribiera a un camino absoluto?

¿Fue útil?

Solución

Resulta que no tuve que usar CSSReWrite.

Dado que CSS carga imágenes en relación con el archivo CSS, acabo de hacerlo ../images/image.png. Esta es una solución mucho más simple, pero aún no he descubierto cómo funciona CSSReWrite.

Otros consejos

He descubierto que los caminos absolutos no reescriben. URL ('/imágenes/foo.png') no se reescribe. ... pero ... url ('../ images/foo.png') sí ... no he probado:

URL ('./ Images/foo.png'), pero esperaría que esto reescribirá.

Tuve mucha frustración con esto, pero creo que en retrospectiva tiene sentido.

La documentación en el sitio Symfony2 dice esto ... pero es fácil pasar por alto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top