Php 如何覆盖symfony2中sonata管理包的css
我想覆盖一个css文件,即位于sonata管理包项目的sonata项目/admin bundle/sonata/AdminBundle/Resources/public/bootstrap/css路径中。Php 如何覆盖symfony2中sonata管理包的css,php,symfony,sonata-admin,Php,Symfony,Sonata Admin,我想覆盖一个css文件,即位于sonata管理包项目的sonata项目/admin bundle/sonata/AdminBundle/Resources/public/bootstrap/css路径中。 请帮助我。有一种方法可以覆盖sonata admin的css文件,但请记住,这将覆盖样式表的块,但仍然可以通过调用{{parent()}调用父块的样式表 {% block stylesheets %} /* this will override the parent block you
请帮助我。有一种方法可以覆盖sonata admin的css文件,但请记住,这将覆盖
样式表的块
,但仍然可以通过调用{{parent()}
调用父块的样式表
{% 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 %}
{%block stylesheets%}
/*这将覆盖您可以在此处定义css文件的父块*/
{%endblock%}
{%块样式表%}
/*这将扩展父块*/
{{parent()}}
{%endblock%}
我使用了M Khalid Junaid的答案,这个答案很有魅力。这里是一些我在实施这一点时遗漏的事实
像这样更新您的config.yml
:
sonata_admin:
templates:
list: AppBundle::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 %}
然后,src/AppBundle/Resources/views/Admin/list.html.twig
可以如下所示:
sonata_admin:
templates:
list: AppBundle::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 %}
{%extends'SonataAdminBundle:CRUD:base_list.html.twig%}
{%块样式表%}
{{parent()}}
* {
}
{%endblock%}
可以在配置文件中删除/添加Sonata管理包中的样式表,而无需处理模板文件:
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
上述选项在第节的Sonata管理包中列出 我知道…但我想覆盖一个特定的css文件。你说的是另一种方法,我在app/Resources/SonataAdminBundle/public/bootstrap/css/中创建了一个文件夹,然后执行一个php应用程序/控制台资产:install web/。这就是我们覆盖模板的方式。我们也可以覆盖css文件吗?另一种方法是用样式表中的新样式覆盖类谢谢,我以前有点困惑,但这对我的帮助比你知道的要多:)