我有一个CSS精灵表,但我的CSS文件无法"看到"图像。 我已经按照这里提供的答案无济于事。 我的捆绑包结构是:
src/
vendor/
project/
bundle/
Resources/
public/
css/
normalize.css
static.css
images/
sprites.jpg
我已经完成了:
$ app/console assets:install
Installing assets using the hard copy option
Installing assets for SymfonyBundleFrameworkBundle into web/bundles/framework
Installing assets for MajorProductionsSewingDivaSiteBundle into web/bundles/majorproductionssewingdivasite
Installing assets for SensioBundleDistributionBundle into web/bundles/sensiodistribution
和:
$ app/console assetic:dump
Dumping all dev assets.
Debug mode is on.
22:19:13 [file+] /home/kevin/www/diva/app/../web/css/06758be.css
22:19:13 [file+] /home/kevin/www/diva/app/../web/css/06758be_part_1_normalize_1.css
22:19:13 [file+] /home/kevin/www/diva/app/../web/css/06758be_part_1_static_2.css
不知道还能做什么....
通过将引用从以下更改来解决它:
{% block styles %}
{% stylesheets '@MajorProductionsSewingDivaSiteBundle/Resources/public/css/*' filter='cssrewrite' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
自:
{% block styles %}
{% stylesheets 'bundles/majorproductionssewingdivasite/css/*' filter='cssrewrite' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
显然,第一个版本中的自动魔法引用不是要走的路,尽管它在官方的Symfony文档中使用过。
@KevinM1
显然,第一个版本中的自动魔法引用不是要走的路,尽管它在官方Symfony文档中>使用。
它在这里(法语,但肯定存在其他语言的等效文档)
好吧,从文档中:
这是一个关键点:一旦您让 Assetic 处理您的资产,文件就会从不同的位置提供。这可能会导致按相对路径引用图像的 CSS 文件出现问题。但是,这可以通过使用 cssrewrite 筛选器来修复,该筛选器更新 CSS 文件中的路径以反映其新位置。
因此,您需要启用cssrewrite
过滤器:
# app/config/config.yml
assetic:
filters:
cssrewrite: ~
并在您的stylesheets
块中使用它:
{% stylesheets '@AcmeProjectBundle/Resources/css' filter='cssrewrite' %}
<link href="{{ asset_url }}">
{% endstylesheets %}