繁体   English   中英

如何在symfony2中覆盖奏鸣曲管理包的CSS

[英]how to override a css of sonata admin bundle in symfony2

我想覆盖一个css文件,即驻留在sonata管理包项目的sonata-project / admin-bundle / Sonata / AdminBundle / Resources / public / bootstrap / css路径中。 请帮帮我。

有一种方法可以覆盖奏鸣曲管理员的css文件,但记住这会覆盖stylesheets块,但你仍然可以通过调用{{ parent() }}来调用父块的stylesheets

{% 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 %}

我使用了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 %}

可以在配置文件中的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

上面的选项列在FULL CONFIGURATION OPTIONS部分的Sonata Admin Bundle CONFIGURATION中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM