QWeb是Odoo中使用的首要模板引擎,它基于XML生成HTML片段或页面。我们知道在QWeb报表中,可调用report.external_layout或report.internal_layout模板,给报表加上系统预定义的页眉页脚,如下所示:
 
<t t-call="report.external_layout">  
    <!-- your code fragments -->  
</t>  
 
但是在实际应用中,企业的每个单据页眉页脚有可能各不相同,这时就需要自定义以满足需求,如何实现呢?
其实很简单,在源码目录addons\report\views下的layouts.xml文件中,定义了report.external_layout和report.internal_layout模板,阅读代码可看出它使用<div class="header"></div>定义页眉,使用<div class="footer"></div>定义页脚,我们只要参照源码如法炮制,下面是一个简单的自定义页眉样例,嵌入报表开始处即可:
 
<div class="header">  
    <div class="row">  
        <div class='text-center' style="color:#808080">  
            <span>苏州XXX公司销售合同</span>  
        </div>  
    </div>  
    <div class="row zero_min_height">  
        <div style="border-bottom: 1px solid black;"></div>  
    </div>  
</div>