使用图标与twitter bootstrap和资产

时间:2012-07-23 20:42:21

标签: symfony twitter-bootstrap less assetic

我已配置资产并使用以下配置

assetic:
    assets:
        global:
            inputs:
                - '%kernel.root_dir%/Resources/public/less/global.less'
    debug:          %kernel.debug%
    use_controller: false
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        less:
            node:       /usr/local/bin/node
            node_paths: [/usr/local/lib/node, /usr/local/lib/node_modules]
            apply_to: "\.less$"

在我的twig文件中,我有以下内容可以完美地打印出css文件。

{% stylesheets filter='less,cssrewrite'
   '@global'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen" />
{% endstylesheets %}

这是我的app / Resources / public / global.less文件

@import "../../../../vendor/twitter/bootstrap/less/bootstrap.less";


/*
* Global Styles
*/
body{
    background: #333;
}

问题在于我无法使用Twitter Bootstrap图标,因为它们是404.我的图像目前位于app/Resources/public/img/我已经尝试了一切来使这些工作,并尝试了所有资产命令。 / p>

我是否需要提及here的cssembed?我当然希望我不必运行Java来实现这一目标。

1 个答案:

答案 0 :(得分:1)

我之前为此创建了一个解决方案,我不知道这是否是最好的方法,但它确实有效。只需从网络/捆绑中调用您的资产,而不是从实际位置调用。然后,您必须运行第一个资产:在assetic:dump之前安装。您的资产配置与我的相同。我不使用较少的过滤器,但我认为这也是适用的。

{% block head_style %}
{% stylesheets filter='yui_css, cssrewrite' 
        'bundles/bgcomun/css/bootstrap.css'
            'bundles/bgcomun/css/comun.css'
             output='css/compiled/main.css'


    %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet"
          media="screen" />
{% endstylesheets %}