自定义Odoo的界面样式,最容易想到的办法就是找到相应的css文件进行修改,但这种方式太丑陋,不推荐。更优雅的的办法是自定义一个模块来个性化风格。
下面以安装在centos上的GreenOdoo为例简单描述一下过程。
第一步:创建自定义模块:
在source目录下执行
../runtime/python/bin/python odoo.py scaffold mytheme myaddons
创建一个名为mytheme的模块,放置于source/myaddons目录下
第二步:创建自定义样式文件
cd source/myaddons/mytheme
mkdir static
mkdir static/src
mkdir static/src/css
vim static/src/css/website.assets_backend.css
在website.assets_backend.css文件中输入:
/*主菜单条底色*/
#oe_main_menu_navbar { background-color: #2B98E2 !important; }
/*主菜单切换背景色*/
a.oe_menu_toggler { background-color: transparent !important; }
/*主菜单字体及颜色*/
.navbar-inverse .navbar-nav > li > a {
color: #FFF;
font-family: "微软雅黑";
font-weight: bold;
}
第三步:创建视图文件
mkdir views
vim views/WebAssetsBackend.xml
输入:
<?xml version="1.0" encoding="utf-8" ?> <openerp> <data noupdate="1"> <template id="assets_backend" name="My Module CSS Assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link rel="stylesheet" href="/mytheme/static/src/css/website.assets_backend.css"/> </xpath> </template> </data> </openerp>
第四步:修改引用的视图文件
vim __openerp__.py
修改为:
# -*- coding: utf-8 -*- { 'name': "mytheme", 'summary': """ 自定义界面风格模块 """, 'description': """ 用以自定义Odoo界面风格的模块 """, 'author': "康虎软件工作室", 'website': "http://www.cfsoft.cf", # Categories can be used to filter modules in modules listing # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml # for the full list 'category': 'style', 'version': '0.1', # any module necessary for this one to work correctly 'depends': ['base'], # always loaded 'data': [ # 'security/ir.model.access.csv', #'templates.xml', 'views/WebAssetsBackend.xml', ], # only loaded in demonstration mode 'demo': [ 'demo.xml', ], }
第五步:把myaddons作为模块路径
vim openerp-server.conf
修改为:
[options] ; This is the password that allows database operations: admin_passwd = admin db_host = 127.0.0.1 db_port = 65432 db_user = openerp db_password = openerp xmlrpc_port = 8069 limit_time_real = 1200000 pg_path = runtime/pgsql/bin addons_path = source/addons,source/myaddons data_dir = data ; logfile = openerp-server.log ; logrotate = True
第六步:安装模块
登录odoo,找到mytheme,按正常步骤安装
最后,重启odoo,登录之后,界面风格已改变