The cssrewrite filter produces wrong urls after the rewrite: i have my bundle which contains one .less file located in Resources/public/less/common.less
I also have one image,located in Resources/public/images/colorfulbg.jpg
i run from the command line :
php app/console assets:install web --symlink
which produces in the web directory the correct public structure:
web
+--bundles
+--mybundle
+--less
| +--common.less
|
+--images
+--colorfulbg.jpg
in my template i have the following:
{% stylesheets 'bundles/mybundle/less/*' filter='cssrewrite,less' %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
That folder just contains one .less file , which is simply:
@bg: #f4f4f4;
body
{
background-image: @bg url(../images/colorfulbg.jpg);
}
There is something wrong, since the rewrited background path is:
url(../../bundles/mybundle/images/colorfulbg.jpg);
and therefore the background is not applied
What am i doing wrong?
I am using symfony 2.3 and assetic bundle 2.3 Thank you
I had the same problem when specifying write_to
option for assetic (suppose, I wanted my styles output into web/assets/css/styles.css
):
assetic:
write_to: '%kernel.root_dir%/../web/assets'
assets:
my_stylesheets:
output: 'css/styles.css'
inputs:
- 'bundles/mybundle/css/styles.css'
I could not find a better solution rather then not specifying anything else than web/
folder for write_to
option (or not specifying it at all). However, you can still use subfolders for every separate asset:
assetic:
write_to: '%kernel.root_dir%/../web'
assets:
my_stylesheets:
output: 'assets/css/styles.css'
inputs:
- 'bundles/mybundle/css/styles.css'
P.S. In both of upper cases styles will be in web/assets/css/styles.css
, but in first case csrewrite
will give incorrect paths, while the second one will work fine.