使用javascript访问网站的模型字段 - Odoo v9社区

时间:2017-05-10 03:08:52

标签: javascript python odoo odoo-9

我想知道,如果我添加一个按钮,从我的Odoo模块中的website页面发送电子邮件。

如果它是“纯粹的”javascript,就像这样:

<textarea id="myText">
Lorem ipsum...
</textarea>
<button onclick="sendMail(); return false">Send</button>
function sendMail() {
var link = "mailto:me@example.com"
         + "?cc=myCCaddress@example.com"
         + "&subject=" + escape("This is my subject")
         + "&body=" + escape(document.getElementById('myText').value)
;

window.location.href = link;
}

假设电子邮件应该是我在res_company上设置的字段,比方说loan_email

有没有办法在Odoo网站页面上从javascript访问该字段?

我的意思是,在res_company设置的电子邮件字段中,不是像本示例那样发送电子邮件,而是实际发送电子邮件吗?

我希望我已经解释过自己,如果您有疑问请告诉我。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用javascript访问任何模型的任何字段。你只需要为此插入一些代码。我已经在POS上做过这件事。所以我知道怎么做。

你必须在js文件的开头插入这些行:

odoo.define('your model name'  function (require) {"use strict";//your code});

在访问字段之后,您必须在xml中为其创建模板,并在js文件中调用该模板。确保模板包含.py文件中的字段,之后调用该模板就是这样:

var varnm = jsfile_which_used_in_frontend.extend({

template: 'templatename',
action: function(){
method_or_action({'field_name'});
},
 });//end of code

此外,如果你想使用你在js文件中使用的另一个js文件的功能( jsfile_which_used_in_frontend ),那么你可以这样做:

  

创建一个这样的变量:

var varname=require('model name')

如果你的文件在另一个模型中,如果你想访问它,那么你必须这样做,而不是以前的变量创建行:

var varnm=require('foldername.filename')

如果您对此有任何疑问,请随时询问,如果您觉得这个答案有帮助,请投票或作出有效答复。

谢谢