首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为odoo 13中的表单添加上下文。使用js

在odoo 13中为表单添加上下文,可以使用JavaScript来实现。上下文是一个字典,它可以在odoo的表单中传递额外的参数。通过在表单的JavaScript代码中使用this.getContext()方法,可以获取当前表单的上下文。

以下是一个示例代码,演示如何为odoo 13中的表单添加上下文:

代码语言:txt
复制
odoo.define('your_module_name.your_form_name', function (require) {
    "use strict";

    var FormController = require('web.FormController');
    var FormView = require('web.FormView');

    FormController.include({
        renderButtons: function ($node) {
            this._super.apply(this, arguments);
            var self = this;
            if (this.$buttons) {
                this.$buttons.on('click', '.your_button_class', function () {
                    var context = self.renderer.state.getContext(); // 获取当前表单的上下文
                    context.your_key = 'your_value'; // 添加自定义的上下文参数
                    self.do_action({
                        type: 'ir.actions.act_window',
                        res_model: 'your_model_name',
                        views: [[false, 'form']],
                        target: 'current',
                        context: context // 将上下文参数传递给新的动作
                    });
                });
            }
        }
    });

    FormView.include({
        init: function () {
            this._super.apply(this, arguments);
            this.controllerParams.disable_autofocus = true; // 禁用自动聚焦
        }
    });
});

在上述代码中,我们首先引入了web.FormControllerweb.FormView,然后通过FormController.include()FormView.include()来扩展odoo的表单控制器和视图。在renderButtons方法中,我们为一个自定义按钮添加了点击事件处理程序。在点击按钮时,我们获取当前表单的上下文,并添加自定义的上下文参数。然后,我们使用do_action方法创建一个新的动作,并将上下文参数传递给该动作。

请注意,你需要将your_module_name替换为你的模块名称,your_form_name替换为你的表单名称,.your_button_class替换为你自定义按钮的类名,your_key替换为你的自定义上下文参数的键名,your_value替换为你的自定义上下文参数的值,your_model_name替换为你的模型名称。

这是一个简单的示例,你可以根据自己的需求进行修改和扩展。如果你需要更多关于odoo的开发文档和示例,请参考腾讯云的odoo相关产品和产品介绍链接地址:腾讯云odoo产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券