Если вы хотите создать шаблон отчета, вам нужно как минимум позвонить, "web.html_container"
с вызовом "web.report_layout"
с определением Minal Report layout
.
все css
файл для шаблона отчета должен быть добавлен в report_assets_common
шаблон:
<template id="assets_common" name="a proper name for your template purpuse" inherit_id="web.report_assets_common">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/scss" href="/fhid_recruitment/static/src/css/applicant-contract.css"/>
</xpath>
</template>
Лучше извлечь заголовок и нижний колонтитул в шаблон, чтобы использовать их в нескольких отчетах,как и external_layout
, вы можете взглянуть на external_layout_standard
, чтобы получить основную идею.
<template id="external_layout">
<div class="header">
My Header
</div>
<!-- everything inside t-call="fhid_recruitment.external_layout" will be rendered here -->
<t t-raw="0" />
<div class="footer">
My footer
</div>
</template>
В шаблоне просто вызовите свой собственный внешний макет здесь:
<template id="applicant_contract_offering">
<t t-call="web.html_container">
<!-- because it's defined in this module "fhid_recruitment" -->
<t t-call="fhid_recruitment.external_layout">
<t t-foreach="docs" t-as="o">
<div call="page">
<div class="article">
Content
</div>
</div>
</t>
</t>
</t>
</template>
Одной из наиболее важных вещей, которые вам нужно знать о шаблоне, является <t t-raw="0" />
, если, например, шаблон x_template
имеет его, когда мы называем его так:
<t t-call="x_template">
any_content
</t>
что такое Qweb
двигатель сделает, заменив <t t-raw="0" />
внутри x_template
на any_content
при рендеринге отчета.
Чтобы упростить задачу, если вы собираетесь использовать верхний и нижний колонтитулы только для одного шаблона:
<template id="applicant_contract_offering">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<div class="header">
My Header
</div>
<div class="article">
Content
</div>
<div class="footer">
My footer
</div>
</t>
</t>
</template>