Come personalizzare Header e Footer nei report

Emily Manfredi
Con questo tutorial spiegheremo come andare a personalizzare Header e Footer nelle diverse versioni di Odoo.

Odoo 10: Personalizzare header e footer nei report

1. Creare un modulo dedicato con il commando "scaffold"

./odoo-bin scaffold nome_del_pacchetto cartella/dove/lo/voglio

2. Avviare l'istanza Odoo, attivare il debug e andare in Configurazione > Interfaccia Utente > Viste > nella barra di ricerca scrivere "header" per ricercare il QWeb da ereditare (inherit_id), la medesima ricerca andrà svolta anche per il footer.

Odoo 10 external layout header
Fig.1: Odoo 10: external layout header
Odoo 10 external layout footer
Fig.2: Odoo 10: external layout footer
3. Nel file templates.xml che si trova nella cartella views, aggiungere  il codice per ereditare l'header e per ereditare il footer.


<template id="external_layout_custom_header" inherit_id="report.external_layout_header">    
    <xpath expr="//div[@class='header']" position="replace">    
        <div class="header">            
            <!-- inserire qui il proprio codice personalizzato -->            
        </div>   
    </xpath>
</template>
<template id="external_layout_custom_footer" inherit_id="report.external_layout_footer">
    <xpath expr="//div[@class='footer']" position="replace">
        <div class="footer">
        <!-- inserire qui il proprio codice personalizzato -->
        </div>
    </xpath>
</template>


4. Avviare poi Odoo e tramite App, installare il proprio modulo.

Odoo 11/Odoo12: Personalizzare header e footer nei report


1. creare un modulo apposito con il commando scaffold

./odoo-bin scaffold nome_del_pacchetto cartella/dove/lo/voglio

2. In Odoo 12, così come in Odoo11,  non abbiamo due external separati come in Odoo10, ma è un unica QWeb denominata: external_layout_standard
Odoo • Un'immagine con una didascalia
Fig.3: Odoo 11/12 external layout standard
3. Nel file templates.xml che si trova nella cartella views, aggiungere  il codice per ereditare l'header e per ereditare il footer.
<template id="external_layout_custom_footer" inherit_id="web.external_layout_standard">
    <xpath expr="//div[@class='header']" position="replace">
        <div class="header">
        <!-- inserire qui il proprio codice personalizzato -->
        </div>
    </xpath>
</template>

<template id="external_layout_custom_footer" inherit_id="web.external_layout_standard">
    <xpath expr="//div[@class='footer o_standard_footer']" position="replace">
        <div class="footer o_standard_footer">
        <!-- inserire qui il proprio codice personalizzato -->
        </div>
    </xpath>
</template>
4. Avviare poi Odoo e tramite App, installare il proprio modulo.

In questo modo nelle stampe vedrete la vostra personalizzazione.

Spero che questa mia piccola guida ti sia stata d'aiuto!
Se anche tu vuoi iniziare con ODOO e cerchi un valido supporto, non esitare a contattarci!

Stay Tuned,
Emily
Odoo • Immagine e testo

Emily Manfredi

- WEB/ODOO DEVELOPER -