如何在Odoo 10中将CSS文件添加到qweb报表中?

时间:2019-07-04 08:08:37

标签: css report odoo qweb

我想将自定义CSS文件添加到qweb报告模板。我尝试如下添加,但没有成功:

    <?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <report id="my_module.report_id" model="my_module.report_model" string="Some Model Report" report_type="qweb-pdf" name="my_module.report_name" file="my_module.report_name_file" menu="False"/>
        <template id="my_module_inherit_id" inherit_id="report.minimal_layout">
            <xpath expr="." position="inside">
                <link rel='stylesheet' href="/my_module/static/src/css/report_style.css"/>
            </xpath>
        </template>
        <template id="my_module.report_name">
            <t t-call="report.html_container">
                <t t-call="report.internal_layout">
                    <div class="page">
                        <style>
                        .test_class{color:blue;}
                        </style>
                        <!-- <div class="header">
                        </div> -->

                        <div class="body">
                            <h1 class="test_class" t-esc="test_variable['subVariable']"/>
                            <h1 class="test_class2" t-esc="test_variable['subVariable']"/>

                        </div>
                    </div>
                </t>
            </t>
        </template>
    </data>
</odoo>
在页面分类div中

定义的样式运行良好。但是我也想添加css文件。我也在下面尝试了继承ID,但是它们都不起作用:

report.minimal_layout
report.internal_layout
report.assets_common
web.assets_backend
report.style
report.external_layout

css文件:

.test_class2{
    color: red;
}

css文件路径:

/my_module/static/src/css/report_style.css

2 个答案:

答案 0 :(得分:1)

我解决了这个问题:

<template id="report_style_inherit" inherit_id="report.internal_layout">
            <xpath expr="." position="inside">

                <link href="http://127.0.0.1:8069/module_name/static/src/css/libs/custom.css" rel="stylesheet" />

            </xpath>
        </template>

使用“ report.internal_layout”作为inherited_id并将odoo服务器链接添加到css路径解决了我的问题。

答案 1 :(得分:0)

尽量不要将标签模板放在标签报告中:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
<template id="my_module_inherit_id" inherit_id="report.minimal_layout">
            <xpath expr="." position="inside">
                <link rel='stylesheet' href="/my_module/static/src/css/report_style.css"/>
            </xpath>
        </template>
        <report id="my_module.report_id" model="my_module.report_model" string="Some Model Report" report_type="qweb-pdf" name="my_module.report_name" file="my_module.report_name_file" menu="False"/>
        <template id="my_module.report_name">
            <t t-call="report.html_container">
                <t t-call="report.internal_layout">
                    <div class="page">
                        <style>
                        .test_class{color:blue;}
                        </style>
                        <!-- <div class="header">
                        </div> -->

                        <div class="body">
                            <h1 class="test_class" t-esc="test_variable['subVariable']"/>
                            <h1 class="test_class2" t-esc="test_variable['subVariable']"/>

                        </div>
                    </div>
                </t>
            </t>
        </template>
    </data>
</odoo>

按照以下步骤进行: https://www.surekhatech.com/blog/apply-css-from-external-file-in-odoo-qweb-reports

谢谢