【问题标题】:Right way to change Sonata Admin Bundle Css?更改 Sonata Admin Bundle Css 的正确方法?
【发布时间】:2017-10-25 14:52:30
【问题描述】:

我将 Sonata Admin Bundle 与它自己的引导文件一起使用。 我是 less 的新手,但我想我明白它的作用。

所以,现在我想更改奏鸣曲管理员的主链接颜色(@brand-primary 中的 variables.less)。我应该如何以及在哪里这样做?

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

我有点迷路了,任何帮助将不胜感激!

【问题讨论】:

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


    【解决方案1】:

    如果您需要更改奏鸣曲管理中每个页面的 css,那么您可以像这样覆盖默认模板(布局):

    config.yml

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

    YourBundle:Admin: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 %}
    

    【讨论】:

    • 这不是问题。我想知道如何更改和编译 Sonata Admin Bundle 的引导源。抱歉,如果不清楚。
    【解决方案2】:

    您可以在所有管理模板中添加新样式表并覆盖所需的属性,而无需通过配置 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
    

    【讨论】:

      猜你喜欢
      • 2014-09-28
      • 2016-09-03
      • 2017-03-15
      • 2016-04-20
      • 1970-01-01
      • 2013-03-06
      • 2018-07-20
      • 2016-10-11
      • 1970-01-01
      相关资源
      最近更新 更多