如何直接在线定制修改 Odoo UI界面?

比起许多传统的 ERP 系统, Odoo 提供了一个美观且易于上手的接口。 传统的 ERP 系统大多仍采用桌机软件为客户端的方式,界面的美观和清楚程度不佳,而且修改困难,需要专门的程序员或原厂,更甚还要取得授权才能修改。 Odoo 则提供了 web-based 的客户端界面,且因为开放源代码的关系,用户也可自行修改。 原厂的 Odoo Apps 网站,也有收录许多第三方制作的布景主题,让不会写程式的人,也能更换自己喜欢的布景主题。

制作主题模块的方式,可以大幅变更 Odoo 界面的外观,但也有不少时候,我们只是想修改一些小地方而已该怎么办? Odoo 后台接口也有提供了一个功能,让我们可以直接修改界面的模板,快速的修改小地方。 如果是大幅度的修改,还是建议使用主题模块的方式,比较容易记录修改的地方,方便未来后续的修改。

文 / 开源智造 · Odoo金牌服务

在Odoo后台修改 Odoo 接口

  1. 首先,开启 Odoo 的开发者模式。 在浏览器网址中, /web 的部分后方插入" ?debug= "后,按下 enter 键,就可以进入开发者模式。
  2. 以管理员身份登录 Odoo。
  3. 到「设置」菜单里的「技术 > 用户界面 > 查看」。
  4. 此处列出的,就是所有的 Odoo 接口的模板。 只要找到对应要修改的地方的模板,就可以修改成你要样子。

修改 Odoo 界面背景色

以下用我们自己比较常用到的一个修改来当作范例,教大家如何直接在Odoo中修改CSS,变更 Odoo 界面的底色。 我们利用这个方式,来区分正式环境和测试环境,降低用户弄错的机会,是个简单却实用的诀窍。

  1. 在上一段中所提到的模板列表中,搜索「Backend Assets (used in backend interface) 」。 该模板的外部 ID ( External ID )是「 web.assets_backend 」,不要跟其它模板弄混了。 此模板会装入所有后台界面用到的外观文件,包含 CSS 和 javascript 。
  2. 点击编辑进入编辑模式。
  3. 末尾: </t> 标签之前,加上以下段落:
  1. <style type="text/css">.o_main_navbar { background-color: #2C7BAD; }</style>
  2. 这样就可以将 Odoo 接口上方的菜单列的底色,修改成 2C7BAD 这个色号的颜色。 此处的色号是 16 进位的 RGB 色号,可以利用绘图程序调出你要的颜色以后,再找到对应的色号。 或是利用网络上的工具,来找到你要的色号,例如:「 16 bit color generator 。
  3. 储存修改后,重新加载页面,就可以看到修改后的结果。

第三步中加上的代码,要记得加在档案的末尾,避免被模板中其它加载的档案盖过。

以上的方式可以用来修改 CSS 相关的设定,但要注意模板加载的顺序。 你修改的 CSS class 有可能在其它继承的模板中也有修改,造成你的修改被盖过的情形。 这个时候就要找到盖过你的修改的模板,把你的修改移到该模板中。

若是你修改的模板的模组有被更新,你的修改有可能会被还原。 例如本范例中的模板是属于「web 」模块,如果该模组被更新了,上述的修改都会被还原。 所以大幅的的更新,还是建议要做成模块,避免被还原掉。

利用网站开发工具

许多现代的浏览器都有提供网站开发工具,方便我们可以快速的找到想修改的 CSS class 。 以下以 Firefox 为示例来说明。

  1. 到 Tool 菜单里的「Web Developer > Inspector」。
  2. 浏览器下方就会开启 inspector 窗口。
  3. 在左下方的 HTML 源代码窗口中,用鼠标光标移到的段落,就会在上方画面反白呈现。 利用这个方式就可以找出你想调整的区块在原始文件中的位置。
  4. 找到对应的 HTML 段落后,就可以找出对应的 CSS class 。
  5. 画面下方中间的窗口,会显示出当前选取段落的 CSS class 的相关 CSS 设置。
  6. 可以在源代码窗口中修改 HTML 源代码,直接看到修改后到效果。 这里的修改只是暂时性的,不会影响到实际Odoo的源代码。
  7. 在CSS窗口中修改CSS class设定,直接看到修改后到效果。 这里的修改只是暂时性的,不会影响到实际Odoo的源代码。

找到想修改的 CSS class 以后,就可以利用上一段提供的方法,修改底色、自行、字体大小等等外观。 只要是可以通过 CSS 设置的,都可以透过这个方式修改。

相关推荐
派大鑫wink2 小时前
Java 高级编程技巧(生产级实用,覆盖性能、并发、设计、JVM、语法、避坑)
开发语言·python
子嘉1132 小时前
【无标题】
python
冷小鱼2 小时前
TensorFlow 2.21 进阶实战:从训练优化到生产部署的完整指南
人工智能·pytorch·python·tensorflow
꧁ᝰ苏苏ᝰ꧂2 小时前
第一章 什么是量化金融
python·金融
Hanniel2 小时前
Python描述符(下):内置机制揭秘
开发语言·python·机器学习
Cloud_Shy6182 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第七章 Item 52 - 53)
开发语言·人工智能·笔记·python
我不是FD2 小时前
OpenAI vs Anthropic API 对比:流式返回 + Adapt 适配层完整方案
java·人工智能·python
nanawinona3 小时前
手工策略转量化,回测到底是在验证什么?
人工智能·python