Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
4 Відповіді
19621 Переглядів

Hello everyone,

In odoo 11 I''d like to use a custom header for each document 

<template id="templ_id">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
<div class="page">

<div class="header">
my header
</div>
.......................

This code gets the default odoo header.

What shuld I do to get my own header?

Thanks

Аватар
Відмінити
Найкраща відповідь

Hi,

Don't use web.external_layout and replace it with <t t-call="web.internal_layout">. after that follow bellow steps and comment out the default internal layout details.

Settings -> Technical -> Views -> Go to the internal_layout

and comment bellow code segment.


Then you can define your custom header on your header tag.


Cheers!  

Аватар
Відмінити
Автор

But this solution it will apply also for other documents that call internal layout.

For each document I should define a header.

Thanks

Найкраща відповідь

Hello bjr Please try below code I'm 100% sure this code is working for you.
You can create your custom Header and Footer as par your requirement but don't forget to use this way.

First custom header template :- 

<template id="custom_my_layout_footer">

            <div class="footer">

                <div class="text-center">

                    <ul class="list-inline">

                        <li class="col-xs-2" style="background-color:rgba(31, 32, 65, 1);color:#fff;">Printed By:-</li>

                        <li class="col-xs-7" style="text-align:center;background-color:rgba(31, 32, 65, 1);color:#fff;">

                            Page: <span class="page"/> / <span class="topage"/>

                        </li>

                        <li class="col-xs-3" style="background-color:rgba(31, 32, 65, 1);color:#fff;">

                            <span t-esc="context_timestamp(datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')"/>

                        </li>

                    </ul>

                </div>

            </div>

        </template>

Custom footer template:-

<template id="partner_external_footer">

            <div class="footer">

                <div class="footer">

                    <strong>

                        This is computer generated invoice no signature required.

                    </strong>

                </div>

            </div>

        </template>


Second create main external template and call above temple into this template :- 

<template id="jt_report_external_layout">

            <t t-if="o and 'company_id' in o">

                <t t-set="company" t-value="o.company_id"/>

            </t>

            <t t-if="not o or not 'company_id' in o">

                <t t-set="company" t-value="res_company"/>

            </t>

            <div class="article">

                <t t-call="jt_my_invoice_report.custom_layout_header_my"/>

                <t t-raw="0"/>

                <t t-call="jt_my_invoice_report.custom_my_layout_footer"/>

            </div>

        </template>

Last point :-    Use this jt_report_external_layout template into your main report template after the <t t-call="web.html_container"> of any report template.    


 <template id="jt_my_account_report_invoice_document1">

            <t t-call="web.html_container">

                <t t-call="jt_my_invoice_report.jt_report_external_layout">


Аватар
Відмінити
Найкраща відповідь

Try this one:

    <template id="report_student_on_probation">
          <t t-call="report.layout">
            <div class="page">
                <div class="text-center">
                    <h4><b>Hello This is Custom Report (Odoo QWEB)</b></h4>
                </div>
           </div>
           </t>
 </template>


Аватар
Відмінити