改变Sonata Admin Bundle Css的正确方法?

时间:2017-10-25 14:52:31

标签: symfony twitter-bootstrap-3 less sonata-admin

我使用Sonata Admin Bundle和它自己的bootstrap文件。 我是新手少,但我想我明白它的作用。

所以,现在我要更改sonata admin的主链接颜色(@brand-primary中的variables.less)。我应该如何以及在哪里这样做?

我们都同意不应该在供应商文件夹中更改它,也不应该在已安装的资产中更改它。我应该把它编译到哪里?

我有点迷失在这里,任何帮助都将不胜感激!

2 个答案:

答案 0 :(得分:0)

如果您需要更改sonata admin中每个页面的css,那么您可以覆盖默认模板(布局),如下所示:

<强> config.yml

sonata_admin:
    templates:
       //path to new layout
       layout: 'YourBundle:Admin:layout.html.twig'

<强> YourBundle:管理:layout.html.twig

{% extends 'SonataAdminBundle::standard_layout.html.twig' %}


//override stylesheets here, or rewrite css if you need
{% block stylesheets %}
    //if you call {{ parent() }},  it will load all sonata css for admin layout
    {{ parent() }}
    {% stylesheets'bundles/bundle/less/layout.css' %}
    <link rel="stylesheet" href="{{ asset_url }}"/>
    {% endstylesheets %}

{% endblock %}

答案 1 :(得分:0)

您可以通过配置assets在所有管理模板中添加新的样式表并覆盖所需的属性,而无需重新定义标准布局:

sonata_admin:
    assets:
        extra_stylesheets:
            - build/admin/css/new.css # your css-file to add

它旨在首先包含默认的CSS文件,然后才从上面的配置中添加其他额外的样式表。因此,您的属性应以级联方式覆盖供应商属性。 但这是供应商的逻辑,可以随时更改,因此我不会依赖它。相反,删除默认的Sonata css文件可能是一个好主意:

sonata_admin:
    assets:
        remove_stylesheets:
            - bundles/sonataadmin/css/old.css # vendor's css-file to remove