在Odoo8的Form视图中,预设有一个sheet的边距,这样看起来像是在一页纸上录入信息,但因为现在的显示器比较宽,预设的sheet宽度比较小,这样看起来就浪费了大量的空间,尤其是明细字段比较多的时候,数据挤在一起非常难看。

经过分析源码,这个风格是由如下CSS定义的:

.openerp .oe_form_sheet_width {  
      min-width: 650px;  
      max-width: 860px;  
      margin: 0 auto;  
    }

这里固定了最大宽度是860px,已经不能适应宽屏幕的需求,所在我在自己模块的static/src/css/下建一个新的css文件,将此部分内容改写为:

.openerp .oe_form_sheet_width {  
      min-width: 650px;  
      max-width: 95%;  
      margin: 0 auto;  
    }

自适应到屏幕的95%宽度,然后建一个xml文件,将模块中的css定义加载到odoo中。

<template id="assets_backend" name="rhwl assets" inherit_id="web.assets_backend">  
                <xpath expr="." position="inside">  
                    <link rel="stylesheet" href="/rhwl/static/src/css/rhwl.css"/>  
                </xpath>  
    </template>
最后在__openerp__中,将此xml加载。