You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 18中如何在POS产品界面读取会话数据中的用户自定义选项

Odoo 18中如何在POS产品界面读取会话数据中的用户自定义选项

没问题,我来帮你搞定这个问题!你已经在后端正确把用户自定义字段传递到POS会话数据里了,现在只需要在前端JS代码里正确读取这个值就行,很简单的~

具体操作步骤:

  1. 前端读取会话中的自定义字段
    在Odoo 18的POS环境里,你后端通过_load_pos_data传递的自定义数据,会被挂载到this.env.pos.session对象下。所以直接在你的ProductScreen补丁里读取这个字段就可以了。

修改你的JS代码如下:

patch(ProductScreen.prototype, {
    async onProductInfoClick(product) {
        // 读取后端传递过来的用户自定义选项
        const hideProductInfo = this.env.pos.session.hide_product_information;
        
        // 这里可以根据这个值实现你需要的逻辑,比如判断是否要展示产品信息
        if (hideProductInfo) {
            console.log("需要隐藏产品信息");
            // 举个例子:如果不想触发默认的产品信息弹窗,直接return就行
            // return;
        } else {
            console.log("正常显示产品信息");
            // 执行原有的产品信息点击逻辑
            await super.onProductInfoClick(product);
        }
    }
});
  1. 验证数据是否正常传递
    你可以打开POS界面的浏览器开发者工具(按F12),在控制台输入this.env.pos.session,查看输出的对象里是否包含hide_product_information字段,确认后端数据已经正确传到前端。另外也要确保你的res.users模型确实存在hide_product_information这个字段,并且当前登录用户的字段值已经正确设置。

小提示:

修改完代码后,记得升级对应的模块,然后刷新POS界面(或者重启POS服务),这样新代码才能生效哦~

备注:内容来源于stack exchange,提问作者ahmed mohamady

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 19:59:51