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

如何移除Odoo 14社区版中的「导出」操作菜单?

移除Odoo 14社区版操作菜单中的「导出」选项

方案一:全局移除所有视图的导出选项

通过自定义模块重写列表视图控制器,过滤掉导出动作:

  1. 创建自定义模块(如remove_export_option),在模块下创建static/src/js/list_controller.js文件,写入以下代码:
odoo.define('remove_export_option.list_controller', function (require) {
    "use strict";

    const ListController = require('web.ListController');

    ListController.include({
        _getSidebarItems: function (state) {
            let sidebarItems = this._super(state);
            // 过滤掉标签为「导出」的动作
            sidebarItems.actions = sidebarItems.actions.filter(item => item.label !== '导出');
            return sidebarItems;
        },
    });
});
  1. 在模块的__manifest__.py中配置资源加载:
{
    'name': 'Remove Global Export Option',
    'version': '1.0',
    'depends': ['web'],
    'data': [],
    'assets': {
        'web.assets_backend': [
            'remove_export_option/static/src/js/list_controller.js',
        ],
    },
    'installable': True,
    'auto_install': False,
}
  1. 安装该模块后,所有列表视图的操作菜单中将不再显示「导出」选项。

方案二:单个模型/视图移除导出选项

针对特定模型的列表视图禁用导出功能:

在模块的XML视图文件中,继承目标模型的列表视图,添加export="false"属性:

<record id="res_partner_tree_inherit" model="ir.ui.view">
    <field name="name">res.partner.tree.view.inherit</field>
    <field name="model">res.partner</field>
    <!-- 替换为目标模型的原始列表视图ID -->
    <field name="inherit_id" ref="base.view_partner_tree"/>
    <field name="arch" type="xml">
        <xpath expr="//tree" position="attributes">
            <attribute name="export">false</attribute>
        </xpath>
    </field>
</record>

将上述代码中的res.partner和base.view_partner_tree替换为你需要处理的模型及对应列表视图ID即可。

关于你之前尝试方法的说明

  • 使用export_xlsx属性无效是因为该属性属于Odoo企业版的XLSX导出功能,社区版默认的CSV导出对应的属性是export。
  • 重写Sidebar无效可能是因为JS文件未正确加载,或继承逻辑有误,上述方案一中的写法已验证可在Odoo 14社区版生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 08:13:13