自定义资产过滤器

时间:2013-03-18 18:15:22

标签: symfony assetic

是否有任何可能包含资产过滤器定义的服务文件作为config.yml中的YML文件? Assetic期望XML结构......

束/资源/配置/ services.yml:

    assetic.filter.csslint:
    class: IOKI\CommonBundle\Assetic\Filter\CssLintFilter
    tags:
        - { name: assetic.filter, alias: csslint}

config.yml

assetic:
    filters:
        csslint:
            resource: %kernel.root_dir%/../src/Project/CommonBundle/Resources/config/services.yml

1 个答案:

答案 0 :(得分:0)

a related issue中针对Assetic的讨论意味着您可以将resource密钥指向任意XML文件(使用'assetic.xml'的示例然后可以指定您的过滤器services.yml正常。

(我发现只有当我清除了我的Symfony缓存并在我的浏览器中进行了“硬刷新”时才会有效 - 直到我尝试过这个才真正适合我。)

此外,如果您只想直接从模板而不是config.yml引用过滤器,则根本不需要在config.yml中提及过滤器。您可以像在services.yml那样指定过滤器,并在Twig中引用它。 E.g:

{% stylesheets
   'bundles/boardworksapp/less/custom.less' filter='csslint'
%}
   <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}