Пользовательский ассетный фильтр

Есть ли возможность включить служебный файл с определением ассетного фильтра в виде файла YML в config.yml? Assetic ожидает структуру XML...

комплект/Ресурсы/config/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

person Hubert Burdach    schedule 18.03.2013    source источник


Ответы (1)


Обсуждение в связанной проблемы против Assetic подразумевает, что вы можете указать свой resource ключ на произвольное XML-файл (в примерах используется 'assetic.xml', и тогда будет нормально указать ваш фильтр в services.yml как обычно.

(Я обнаружил, что это работает только в том случае, если я очистил кеш Symfony и сделал «жесткое обновление» в своем браузере — только когда я попробовал это, это действительно сработало для меня.)

Кроме того, если вы хотите ссылаться на свой фильтр только непосредственно из шаблона, а не в config.yml, вам вообще не нужно упоминать его в config.yml. Вы можете просто указать свой фильтр в services.yml, как вы сделали, и сослаться на него в Twig. Например:

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