Как включить css из папки ресурсов в symfony 2


Я использую css, расположенный в

app/Resources/FOSUserbundle/css

Как я могу включить это в свой шаблон ветки

Причина, по которой я помещаю css, заключается в том, что все мои переопределенные шаблоны FOSUser находятся в этой папке. Поэтому я хочу сохранить все изображения css, js, чтобы, если мне нужно будет использовать их на другом веб-сайте, я просто скопировал эту папку

Author: user825904, 2012-01-12

3 answers

Я не совсем уверен, как бы вы включили это в свои шаблоны веток, но...

1) Я помещаю ресурсы, которые я использую, в несколько пакетов/проектов в веб-каталоге/. Тогда вы можете ссылаться на это следующим образом:

{% stylesheets 'css/styles.css' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

2) Если вам все равно нужно переопределить FOSUserBundle, вы можете поместить ресурсы в наследующий пакет, сославшись на них следующим образом:

{% javascripts '@YourBundle/Resources/public/js/scripts.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
 6
Author: Michael Sauter, 2012-01-12 14:34:49

То, что вы сделали, совершенно правильно.

Просто сделайте следующее: -

$ app/console assets:install web

Он установит ресурсы в общедоступный каталог "веб", где технически должны находиться ресурсы, для использования с вашими шаблонами Twig.

Затем ресурсы можно использовать в шаблонах веток следующим образом: -

    {% block stylesheets %}
        <link href="{{ asset('/css/main.css') }}" type="text/css" rel="stylesheet" />
    {% endblock %}


    {% block javascripts %}
        <script src="{{ asset('/js/main.js') }}" type="text/javascript"></script>
    {% endblock %}
 6
Author: Amit, 2012-01-12 18:37:43

Хотя вопрос предполагает и переопределяет регистр, он также подходит для случая, когда css или js находятся в общей папке, вдали от структуры пакета.

Один из ответов заключается в использовании доступных переменных twig. Например, если у меня есть один файл css, расположенный здесь

app/Resources/views/clientSite/customFolder/css/mycss.css

Я могу загрузить в любой шаблон, используя что-то вроде этого (обратите внимание, что пример переопределяет полный блок таблиц стилей, но не требуется, тег ветки таблицы стилей можно добавить в любой блок):

{% block stylesheets %}
    {{ parent() }}
    {% stylesheets '%kernel.root_dir%/Resources/views/clientSite/customFolder/css/mycss.css'
    %}
    <link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
    {% endstylesheets %} 
{% endblock %}

Также не забудьте выполнить команду assetic:dump, чтобы symfony знала, что ей пришлось опубликовать css в папке web/css со всеми остальными файлами.

 3
Author: le0diaz, 2014-12-11 20:23:58