如何覆盖website_slidesCSS?

How to override website_slides CSS?

我正在使用 Odoo 13。我想将幻灯片的背景颜色从紫色更改为蓝色。 website_slides 位于 /src/odoo/addons/website_slides。我无法直接更改 /src/odoo/addons/website_slides/static/src/scss/website_slides.scss

我想覆盖以下内容

.o_wslides_gradient {
    background-image: linear-gradient(120deg, #875A7B, darken(#875A7B, 10%));
}

这是我第一次使用 Odoo。我想更改颜色以使其始终为蓝色,而不是在我使用的每张幻灯片上更改它。我将如何编写自定义 module 并将其添加到 /src/user

您需要继承 website.assets_frontend 模板以包含新的 scss 文件。

首先,创建一个模块(可以查看Building a Module文档),然后:

  • website_slides 模块添加到清单 depends 列表。

  • 继承 website.assets_frontend 模板,如下所示:

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
    
        <template id="assets_frontend" inherit_id="website.assets_frontend" name="Slides Frontend Assets">
            <xpath expr="//link[last()]" position="after">
                <link rel="stylesheet" type="text/scss" href="/MODULE_NAME/static/src/scss/website_slides.scss" t-ignore="true"/>
            </xpath>
        </template>
    
    </odoo>
    
  • 创建一个assets.xml XML文件并向其中添加上述代码,然后将其添加到清单文件中的data列表中。

  • static/src/scss/website_slides.scss下新建一个scss文件,添加如下scss代码:

    .o_wslides_gradient {
        background-image: linear-gradient(120deg, #7C7BAD, darken(#7C7BAD, 10%));
    }