使用Twitter Bootstrap和Assetic进行图标操作

5
我已经配置好了 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/。我已经尝试了所有东西来让它们工作,并且已经尝试了每个Assetic命令。
我是否需要像这里所述一样使用cssembed?我真的希望我不必运行Java才能使其正常运行。
1个回答

1
我曾经为此找到了一个解决方案,不知道是否是最好的方法,但它有效。只需从web/bundles中调用您的资产,而不是从实际位置调用。然后,在运行assetic:dump之前,必须先运行assets:install。您的assetic配置与我的相同。我没有使用less过滤器,但我认为它也适用。
{% 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 %}

我需要将 Bootstrap 导入我的全局 less 文件中,因此我认为这不是一个可行的选择。 - Mike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接