Come personalizzare Header e Footer nei report

nelle varie versioni di Odoo

    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 comando "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

    3. Nel file templates.xml che si trova nella cartella views, aggiungere il codice per ereditare l'header e per eriditare 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>
    Odoo 10 external layout footer
    Fig.2: Odoo 10: external layout footer

    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 Odoo 11, non abbiamo due external separati come in Odoo 10, 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 template.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 stampare 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