我想覆盖一个css文件,即驻留在sonata管理包项目的sonata-project / admin-bundle / Sonata / AdminBundle / Resources / public / bootstrap / css路径中。 请帮帮我。
答案 0 :(得分:10)
你可以通过一种方式覆盖奏鸣曲管理员的css文件,但记住这会覆盖stylesheets
的块,但你仍然可以通过调用stylesheets
来调用父块的{{ parent() }}
/ p>
{% block stylesheets %}
/* this will override the parent block you can define here your css files*/
<link rel="stylesheet" href="{{ asset('cssfilepath.css') }}"/>
{% endblock %}
{% block stylesheets %}
/*this will extend the parent block */
{{ parent() }}
<link rel="stylesheet" href="{{ asset('cssfilepath.css') }}"/>
{% endblock %}
答案 1 :(得分:3)
我使用了M Khalid Junaid的答案,就像魅力一样。这里有一些我在实施时遗漏的事实。
像这样更新你的config.yml
:
sonata_admin:
templates:
list: AppBundle::Admin/list.html.twig
然后src/AppBundle/Resources/views/Admin/list.html.twig
可能如下所示:
{% extends 'SonataAdminBundle:CRUD:base_list.html.twig' %}
{% block stylesheets %}
{{ parent() }}
<style type="text/css">
* {
}
</style>
<!-- and/or -->
<link rel="stylesheet" href="{{ asset('cssfilepath.css') }}"/>
{% endblock %}
答案 2 :(得分:1)
可以在配置文件中的Sonata Admin Bundle中删除/添加样式表,而无需处理模板文件:
sonata_admin:
assets:
remove_stylesheets:
- bundles/sonataadmin/css/old.css # path to vendors css-file to remove
extra_stylesheets:
- build/admin/css/new.css # your css-file to add
以上考虑的选项在CONFIGURATION部分的Sonata Admin Bundle FULL CONFIGURATION OPTIONS中列出。