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

如何修改Odoo中chatter.js的message_get_suggested_recipients基础JS方法

如何在Odoo中重写mail模块的message_get_suggested_recipients方法

嘿,我来一步步教你怎么基于你已有的自定义插件修改这个基础JS方法:

1. 确认自定义模块的文件结构

首先确保你的addon1模块结构是这样的(缺的文件要补上):

addon1/
├── __init__.py
├── __manifest__.py
├── static/
│   └── src/
│       └── js/
│           └── chatter.js
└── views/
    └── chatter.xml

2. 编写自定义的chatter.js文件

在你的chatter.js里,我们要利用Odoo的组件继承机制,重写目标方法。代码大概是这样的:

odoo.define('addon1.chatter', function (require) {
    "use strict";

    // 导入原有的Chatter组件
    const Chatter = require('mail.Chatter');
    const core = require('web.core');
    const _t = core._t;

    // 继承并重写组件
    Chatter.include({
        /**
         * 重写获取建议收件人的方法
         * @override
         */
        message_get_suggested_recipients: function () {
            // 如果你需要保留原方法的逻辑,可以先调用父方法
            let recipients = this._super.apply(this, arguments);
            
            // 在这里添加你的自定义逻辑,比如修改收件人列表
            // 举个例子:添加一个自定义收件人
            recipients.push({
                partner_id: [123, "自定义联系人"],
                reason: _t("自定义原因")
            });
            
            return recipients;
        },
    });

    return Chatter;
});

注:如果完全不需要原方法的逻辑,直接删掉this._super那行,自己写全新的逻辑即可

3. 修正你的chatter.xml文件

你原来的xml里注释了template标签,这会导致你的JS文件无法被加载。修正后的代码应该是这样:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <!-- 继承后端资源,加载我们的自定义JS -->
        <template id="assets_backend" name="addon1 chatter assets" inherit_id="web.assets_backend">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/addon1/static/src/js/chatter.js"></script>
            </xpath>
        </template>
    </data>
</odoo>

4. 升级模块并测试

  • 确保你的__manifest__.py里已经正确声明了视图文件:
    'data': [
        'views/chatter.xml',
    ],
    
  • 回到Odoo后台,找到你的addon1模块,点击升级
  • 打开带有 chatter 的表单页面(比如销售订单),测试建议收件人是否按照你的逻辑显示

这样就能成功重写原有的message_get_suggested_recipients方法啦!

内容的提问来源于stack exchange,提问作者Developer Marius Žilėnas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:16:26