Odoo 10 POS后厨订单内容修改求助:找不到对应修改文件
定位Odoo 10 POS后厨订单的修改文件
嘿,我来帮你搞定这个问题——毕竟我之前折腾Odoo 10 POS定制的时候,也找了半天这些文件的位置😉
一、前端POS逻辑与模板文件(后厨订单的显示/打印核心)
Odoo 10的POS前端是基于JS和XML模板开发的,后厨订单的内容组装、打印格式基本都在这里:
- JS逻辑文件:路径是
/usr/lib/python2.7/dist-packages/openerp/addons/point_of_sale/static/src/js/pos_print.js:专门管打印逻辑的文件,后厨订单的打印数据组装、触发打印的函数都在这里。比如你要给订单加额外字段,得在这里确保数据能传到打印模板里。pos.js:POS的核心逻辑文件,订单对象的定义、数据处理都在这里。如果要修改订单的基础数据结构,就得动这个文件。
- XML模板文件:路径是
/usr/lib/python2.7/dist-packages/openerp/addons/point_of_sale/static/src/xml/pos.xml
这里面包含了POS的所有界面模板,后厨小票的HTML结构就在这里找——搜索<t t-name="PointOfSale.Receipt"就能找到默认的小票模板,直接修改这个模板的HTML就能添加/调整订单内容。
二、后端Python文件(如果需要从后台传额外数据到POS)
如果你要添加的内容需要从Odoo后台数据库获取(比如菜品的后厨备注、特殊要求),就得修改后端文件:
point_of_sale/models/pos_order.py:POS订单的模型定义,在这里可以给订单或订单行添加字段,或者修改字段的可见性/传递规则。point_of_sale/controllers/main.py:POS的后端控制器,负责给前端传递数据。比如load_pos_data方法,在这里可以把你需要的额外字段(比如菜品备注)加到传给前端的数据集里。
三、修改的小提示
- 先备份文件! SSH登录后,先给要修改的文件做个备份,比如:
cp /usr/lib/python2.7/dist-packages/openerp/addons/point_of_sale/static/src/xml/pos.xml /usr/lib/python2.7/dist-packages/openerp/addons/point_of_sale/static/src/xml/pos.xml.bak - 修改后重启Odoo服务:
service odoo restart - 清除浏览器缓存!POS是前端单页应用,浏览器缓存会导致修改不生效,按
Ctrl+Shift+R强制刷新就行。
另外提一句:最好不要直接修改核心模块的文件,建议写个自定义模块来继承修改,这样以后升级Odoo的时候不会丢改动;如果只是临时需求,直接改核心文件也没问题,记得备份就好。
内容的提问来源于stack exchange,提问作者Samoox
相关产品推荐
相关产品推荐

