Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Openerp ODOOUI小部件-如何从数据库获取设置?_Openerp_Odoo 9_Odoo View - Fatal编程技术网

Openerp ODOOUI小部件-如何从数据库获取设置?

Openerp ODOOUI小部件-如何从数据库获取设置?,openerp,odoo-9,odoo-view,Openerp,Odoo 9,Odoo View,我正在编写一个odoov9小部件,它根据数据库中的设置和实际表单字段的连接来呈现URL 数据库I figure中的设置应该位于ir_config_参数中。我在模块中插入一个默认值 呈现小部件时,获取该值的最佳方法是什么?使用 新模型(“ir.config_参数”) 似乎有点笨手笨脚。有没有更好的办法 谢谢 小部件代码: var UrlWidget2 = form_common.FormWidget.extend({ start: function() {

我正在编写一个odoov9小部件,它根据数据库中的设置和实际表单字段的连接来呈现URL

数据库I figure中的设置应该位于ir_config_参数中。我在模块中插入一个默认值

呈现小部件时,获取该值的最佳方法是什么?使用

新模型(“ir.config_参数”)

似乎有点笨手笨脚。有没有更好的办法

谢谢

小部件代码:

    var UrlWidget2 = form_common.FormWidget.extend({
        start: function() {
            this._super();
            this.field_manager.on("field_changed:ref", this, this.display_result);
            this.display_result();
        },
        display_result: function() {
            var ref = this.field_manager.get_field_value("ref");

            if (!ref) return;

            var baseUrl = 'https://example.com'; //this is the value I want to get from the setting in the database. 
            var url = baseUrl + '/foo/' + ref;    

            this.$el.html('<a href="' + url + '" target="portal">View Externally</a><br /><br/>');
        }
    });
var UrlWidget2=form_common.FormWidget.extend({
开始:函数(){
这个;
this.field\u manager.on(“field\u changed:ref”,this,this.display\u result);
这是一个.display_result();
},
显示结果:函数(){
var ref=此.field_manager.get_field_value(“ref”);
如果(!ref)返回;
var baseUrl=https://example.com“;//这是我想从数据库中的设置中获取的值。
var url=baseUrl+'/foo/'+ref;
这是.el.html(“

”); } });
您可以使用它。这是一个适合我的例子:

var Model = require('web.DataModel'); 

var UrlWidget2 = form_common.FormWidget.extend({
        // just example how to get parameter from backend
        display_result: function() {
            var parameter = new Model('ir.config_parameter');
            // get fields value, key
            parameter.query(['value', 'key'])
                // criteria of search - record with id = 1
                .filter([['id', '=', 1]])
                // only one record
                .limit(1)
                .all()
                .then(function (parameter) {
                    // here data from server
                    console.log(parameter);
            });
        // ...
        }
    });

希望这对您有所帮助。

您想在哪里显示设置值?我的意思是,它将是表单字段?在我编写javascript的小部件中,我需要获取并使用配置设置。显示您的js小部件。我也做了类似的事情。也许我能帮上忙。添加了小部件代码。表单使用什么模型?为什么不能为此添加
compute
字段?谢谢,我可能必须这样做-但正如我在问题中所说的,我希望避免使用ajax调用。我所要做的只是渲染一个链接(或者几个链接)。返回服务器并异步呈现这些链接的速度会很慢。所以我正在寻找一种更好的方法来实现这一切。如果你找到更好的方法,请告诉我。还有一件事。。。我检查了不同应用程序的来源。我还没有见过像as config这样的东西。使用
ir\u config\u参数
通过RPC进行。