我的目标是在我的Symfony(2.8)Web应用程序中使用Bootstrap Glyphicons字体。我正在使用资产,但它存在我的问题。我在我的composer.json文件中添加了bootstrap(“twitter / bootstrap”:“3.3。”)。运行composer install后,我检查了原始bootstrap.css文件(vendor文件夹)中的路径,字体的url如下所示(当然可以,因为字体可以在那里找到):“src :url('../ fonts / glyphicons-halflings-regular.eot');“。
但是,在运行assetic:dump 后检查web / css文件夹中的结果时,我发现路径错误地更改为“ src:url(' ../的 ../字体/ glyphicons-半身-regular.eot');” (注意添加的“ ../ ”)
我的config.yml文件中的资产部分如下所示:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ 'AppBundle' ]
filters:
cssrewrite: ~
assets:
bootstrap_js_and_jquery:
inputs:
- '%kernel.root_dir%/../vendor/components/jquery/jquery.js'
- '%kernel.root_dir%/../vendor/twbs/bootstrap/dist/js/bootstrap.js'
bootstrap_css:
inputs:
- '%kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap.css'
bootstrap_glyphicons_ttf:
inputs:
- '%kernel.root_dir%/../vendor/twbs/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf'
output: "fonts/glyphicons-halflings-regular.ttf"
bootstrap_glyphicons_eot:
inputs:
- '%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.eot'
output: "fonts/glyphicons-halflings-regular.eot"
bootstrap_glyphicons_svg:
inputs:
- '%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.svg'
output: "fonts/glyphicons-halflings-regular.svg"
bootstrap_glyphicons_woff:
inputs:
- '%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.woff'
output: "fonts/glyphicons-halflings-regular.woff"
bootstrap_glyphicons_woff2:
inputs:
- '%kernel.root_dir%/../vendor/twbs/bootstrap/fonts/glyphicons-halflings-regular.woff2'
output: "fonts/glyphicons-halflings-regular.woff2"
这样做的结果是可以在'web / css'中找到css文件,在'web / fonts'中找到字体(所以这一切看起来很好)。
在我的twig模板中,我应用了cssrewrite规则:
{% stylesheets '@bootstrap_css' filter='cssrewrite'%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
任何人都可以解释为什么css文件中的路径是通过在路径前添加“../”来重写的,这使得无法找到字体(404)?有没有人设法让这个工作在类似的设置?
提前致谢。