如何在Odoo 10 POS插件中使用自定义CSS

时间:2017-05-23 08:14:23

标签: css odoo-10

我启动POS应用程序时未加载自定义CSS,但它已加载到仪表板中的web.assets_backend.1.css中。我的自定义Javascript正确加载。这是加载CSS的正确方法吗?谢谢你的帮助。

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>
        <template id="assets_backend" inherit_id="web.assets_backend" name="donation_assets_backend">
            <xpath expr="." position="inside">
                <link rel="stylesheet" href="/donation/static/src/css/donation.css" />

                <script type="text/javascript" src="/donation/static/src/js/donation.js"></script>
                <script type="text/javascript" src="/donation/static/src/js/jquery.sglide.js"></script>
                <script type="text/javascript" src="/donation/static/src/js/sGlide.js"></script>
                <script type="text/javascript" src="/donation/static/src/js/donation_frontend.js"></script>
            </xpath>
        </template>
    </data>
</odoo>

3 个答案:

答案 0 :(得分:1)

我的Javascript和CSS现在被添加到point_of_sale.assets文件中。事实证明,我的静态/ src / xml /中的QWeb模板文件有错误导致一些Odoo应用程序文件无法找到。这也可能是Odoo没有更新web.assets_backend.js和point_of_sale.assets js和css文件的原因。

这是我更新的XML资源文件:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <template id="assets" inherit_id="point_of_sale.assets" name="donation assets">
        <xpath expr="." position="inside">
            <script type="text/javascript" src="/donation/static/lib/jquery.sglide.js"></script>
            <script type="text/javascript" src="/donation/static/lib/sGlide.js"></script>
            <script type="text/javascript" src="/donation/static/src/js/donation.js"></script>
        </xpath>

        <xpath expr="//link[@id='pos-stylesheet']" position="after">
            <link rel="stylesheet" href="/donation/static/src/css/donation.css" />
        </xpath>
    </template>
</odoo>

答案 1 :(得分:0)

不确定,但您是否在var filtered=links.filter(link=>!link.includes(".jpg")); 模块的依赖项中添加了point_of_sale模块?

如果没有将donation添加到"depends" : ["point_of_sale"],的词典中。如果需要,添加更多依赖项。

现在首先加载_openerp_.py模块及其资产。

修改:尝试使用point_of_sale代替inherit_id="point_of_sale.assets"。那可以帮到你。

答案 2 :(得分:0)

您需要在三个位置更新css文件的路径。

1。inherit_id="web.assets_backend" 2。inherit_id="web.assets_frontend" 3。inherit_id="point_of_sale.assets"

在继承上述模板的模板中。 代码如下所示。

<template id="assets_backend" name="sub_menu assets" inherit_id="web.assets_backend">
        <xpath expr="." position="inside">
            <link rel="stylesheet" href="/pos_update/static/src/css/mypos.css"/>
        </xpath>
    </template>

    <template id="assets_frontend" name="sub_menu assets front" inherit_id="web.assets_frontend">
        <xpath expr="." position="inside">
            <link rel="stylesheet" href="/pos_update/static/src/css/mypos.css"/>
        </xpath>
    </template>

<data>
    <template id="assets" inherit_id="point_of_sale.assets">
        <xpath expr="." position="inside">
            <link rel="stylesheet" href="/pos_update/static/src/css/mypos.css"/>
            <script type="text/javascript" src="/pos_update/static/src/js/cancel.js"></script>

        </xpath>
    </template>
</data>

您还需要确保,如果要修改现有模板,则不得更改样式表名称。

如果要为模板创建样式表,则只需在一个位置即在要设置js文件路径的主模板文件中设置样式表的路径。

<template id="assets" inherit_id="point_of_sale.assets">
            <xpath expr="." position="inside">
                <link rel="stylesheet" href="/pos_update/static/src/css/mypos.css"/>
                <script type="text/javascript" src="/pos_update/static/src/js/cancel.js"></script>

            </xpath>
        </template>