Запустите файл CSS через Twig при использовании тега {% stylesheets%} в Twig с помощью Symfony2

Я включаю CSS-таблицы стилей в свой шаблон следующим образом:

{% stylesheets
    "@SomeBundle/Resources/assets/css/default.css.twig"
    "@SomeBundle/Resources/assets/css/global.css.twig"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

Однако я хочу запускать эти файлы CSS через Twig, это возможно любым способом при использовании тега {% stylesheets %} или для этого требуется какой-то другой подход. Я уже пробовал включить фильтр twig, но этого не существует.

Ответ 1

Вы можете сделать это, если вы загрузите css в качестве внутренней таблицы стилей. Что-то вроде этого:

{% block stylesheets %}
    {{ parent() }}
    {% include 'AcmeBundle:Bundle:mycss.css.twig' %}
{% endblock %}

И тогда шаблон mycss.css.twig будет содержать:

<style type="text/css">
    /* */
</style>

Ответ 2

Наиболее распространенные вещи, которые вы хотели бы сделать, обрабатывая CSS с помощью Twig, должны быть возможны Sass, LESS или аналогичный, который может применяться в качестве фильтров Assetic. Первый учебник, который Google закинул, был следующим: http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes

По общему признанию, это не похоже на большую помощь, если вы не можете запустить Ruby/ Node.js/whatever на производственном сервере, для которого вы разрабатываете, но должно быть возможно создать основанный на Assetic фильтр на одном из портов PHP Sass/LESS (при условии, что они хороши), если это произойдет.