Как добавить файл CSS в отчет qweb в Odoo 10? - PullRequest
0 голосов
/ 04 июля 2019

Я хочу добавить пользовательский файл 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 тоже.Ниже я также попробовал наследовать идентификаторы, но ни один из них не работал:

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 ]

1 голос
/ 08 июля 2019

Я решил вопрос:

<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" в качестве атрибута наследования и добавление ссылки на сервер odoo в путь css решило мою проблему.

0 голосов
/ 04 июля 2019

Старайтесь не помещать шаблон тега в отчет тега:

<?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

Спасибо

...