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

如何在Odoo 14网站中禁用Newsletter模块的Toast提示

禁用Newsletter订阅后的Toast提示(继承JS实现)

解决方案步骤:

  1. 创建自定义模块
    新建一个名为website_mass_mailing_custom的模块,目录结构如下:

    website_mass_mailing_custom/
    ├── __init__.py
    ├── __manifest__.py
    └── static/
        └── src/
            └── js/
                └── subscribe.js
    
  2. 编写继承JS文件
    在subscribe.js中写入以下代码,继承原订阅组件并重写成功回调,移除Toast提示逻辑:

    odoo.define('website_mass_mailing_custom.subscribe', function (require) {
        "use strict";
    
        // 引入原订阅组件
        var Subscribe = require('website_mass_mailing.subscribe');
    
        // 扩展原组件
        Subscribe.include({
            _onSubscribeSuccess: function () {
                // 保留原有的"感谢文案显示+隐藏订阅按钮"逻辑
                this.$target.find('.o_newsletter_subscribe_btn').addClass('d-none');
                this.$target.find('.o_newsletter_thank_you').removeClass('d-none');
                // 移除Toast提示的调用,实现禁用效果
            },
        });
    
        return Subscribe;
    });
    
  3. 配置模块清单
    在__manifest__.py中配置模块依赖和资产加载:

    {
        'name': '禁用Newsletter订阅Toast提示',
        'version': '1.0',
        'depends': ['website_mass_mailing'],
        'data': [],
        'assets': {
            'web.assets_frontend': [
                'website_mass_mailing_custom/static/src/js/subscribe.js',
            ],
        },
        'installable': True,
        'auto_install': False,
    }
    
  4. 安装并生效

    • 将模块放入Odoo的addons目录
    • 在后台应用列表中找到该模块并安装
    • 安装完成后更新网站资产(可通过后台"应用"菜单的"更新应用列表",或执行命令odoo-bin -u website_mass_mailing_custom)

这样就能通过继承原JS文件的方式,保留原有订阅逻辑的同时,禁用右上角的Toast提示,无需修改核心模块代码。

内容的提问来源于stack exchange,提问作者george

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:40:34