Как включить CSS из папки ресурсов в Symfony 2
-
27-10-2019 - |
Вопрос
Я hvae CSS, расположенный в
app/Resources/FOSUserbundle/css
Как я могу включить это в свой шаблон веточки
Причина, по которой я ставлю CSS, заключается в том, что все мои переопределенные шаблоны Fosuser в этой папке. Поэтому я хочу сохранить там CSS, JS -изображения, так что, если мне нужно использовать на другом веб -сайте, я просто скопирую эту папку
Решение
Я не совсем уверен, как вы бы включили это в свои шаблоны веточки, но ...
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 %}
Другие советы
То, что вы сделали, в порядке.
Просто сделайте следующее:-
$ app/console assets:install web
Он установит активы в общедоступном каталоге «веб -», где должны быть технически использоваться активы, которые будут использоваться с вашими шаблонами ветки.
Активы могут затем использоваться в шаблонах ветки, как это:-
{% 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 %}
Хотя вопрос предполагает и переопределяет случай, это также AKS для случая, когда CSS или JS находятся в общей папке, вдали от структуры пакета.
Одним из ответов является использование доступных переменных Twig. Например, если у меня есть один файл CSS, расположенный здесь
app/Resources/views/clientSite/customFolder/css/mycss.css
Я могу загрузить в любом шаблоне, используя что -то вроде этого (обратите внимание на пример переопределяет полный блок таблиц стилей, но не требуется, тег Stylesseepteep Twig можно добавить в любом блоке):
{% 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 %}
Также помните выполнить команду Assitice: Damp, Таким образом, Symfony знает, что он должен был опубликовать CSS в папку Web/CSS со всеми другими файлами.