php – Symfony2和Twitter Bootstrap glyphicons

我创建了一个Bundle,以便将Twitter Bootstap包含到我的项目中.我知道,那里有现有的套装,但我不想自己控制它.这意味着我不想安装Less编译器和类似的东西.

如果我将以下内容包含在我的模板中,则可以很好地应用.js和.css文件

{% block javascripts %}
{% javascripts
'@MyAssetBundle/Resources/public/js/jquery.min.js'
'@MyAssetBundle/Resources/public/js/bootstrap.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}

{% block stylesheets %}
{% stylesheets '@MyAssetBundle/Resources/public/css/*' filter='cssrewrite' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}

我只是努力包括适当的字体才能使用Bootstrap提供的glyphicons.

根据css定义,字体应该在相对于css文件的../fonts中可用.事实上我把它们放在那里.但Symfony2将这些相对网址解析为绝对路径,并没有为此找到路径.

我怎么解决这个问题?我真的觉得我没有在这里得到Symfony2概念的重要部分.

解决方法:

使用Assetic提供的cssrewrite过滤器来更正CSS文件中的路径.

{% stylesheets filter='cssrewrite'
    'bundles/myassetbundle/css/bootstrap.min.css' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

确保使用的是bundle / myassetbundle / …表示法,而不是@MyAssetBundle表示法.

关于此事,请阅读Symfony docs.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...