Caminho de ativos em arquivos CSS no Symfony 2
Eu tenho um CSSrquivo com alguns caminhos (para imagens, fontes, etcurl(..)
).
Minha estrutura de caminho é assim:
...
+-src/
| +-MyCompany/
| +-MyBundle/
| +-Resources/
| +-assets/
| +-css/
| +-stylesheets...
+-web/
| +-images/
| +-images...
...
Quero referenciar minhas imagens na folha de estil
Primeira SoluçãoAlterei todos os caminhos no arquivo CSS para caminhos absolutos. Isso não é solução, pois o aplicativo deve (e deve!) Também estar trabalhando em um subdiretório.
Segunda SoluçãoUse Assetic comfilter="cssrewrite"
.
Então mudei todos os meus caminhos no meu arquivo CSS para
url("../../../../../../web/images/myimage.png")
para representar o caminho real do meu diretório de recursos para o/web/images
diretório. Isso não funciona, pois cssrewrite produz o seguinte código:
url("../../Resources/assets/")
que é obviamente o caminho errado.
Depois deassetic:dump
este caminho é criado, o que ainda está errado:
url("../../../web/images/myimage.png")
O código galho do Assetic:
{% stylesheets
'@MyCompanyMyBundle/Resources/assets/css/*.css'
filter="cssrewrite"
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Solução Atual (Terceira)Como todos os arquivos CSS acabam em/web/css/stylexyz.css
, Mudei todos os caminhos no arquivo CSS para serem relativos:
url("../images/myimage.png")
Esta (ruim) solução funciona, exceto nodev
ambiente: o caminho CSS é/app_dev.php/css/stylexyz.css
e, portanto, o caminho da imagem resultante disso é/app_dev.php/images/myimage.png
, o que resulta em umNotFoundHttpException
.
Existe uma solução melhor e funcional?