odoo的tree视图如果与数字类型的字段,字段名称和字段的值总是居左显示,这欧洲人习惯(因为数字居左显示方便数字的比较)作为一个中国人,反正我是非常的不习惯,于是决定研究一下,改掉它。从项目的角度出发,源码肯定是不能直接改的,我们一般是在自己的模块中修改。
下面将介绍实现方式,其实很简单,只需要三步:
1、自定义样式
创建一个css文件 my_module/static/src/css/tree_number_field.css
@charset "utf-8";
/* 方式一: 全局修改 */
/* 全局修改tree视图数字字段的值居左显示 */
.o_list_view .o_list_number {
text-align: left;
white-space: nowrap;
}
/* 全局修改tree视图数字字段的名称居左显示 */
.o_list_view thead > tr > th.o_list_number_th {
text-align: left;
}
/* 方式二: 通过class局部修改 */
/* 使用class局部修改tree视图数字字段的值居左显示,
要在tree视图的字段增加class="o_list_number_left" */
.o_list_view .o_list_number_left {
text-align: left;
white-space: nowrap;
}
2. 加载css文件
创建一个xml文件:my_module/views/web_assets.xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_backend" name="crm assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/df-tools/static/src/css/tree_number_field.css"/>
</xpath>
</template>
</odoo>
3. 在资产文件__manifest__.py中列出xml文件
'data': [
'views/web_assets.xml',
],