使用 javascript 从网站访问模型字段 - Odoo v9 社区
Access model fields from website with javascript - Odoo v9 community
我想知道,如果我添加一个按钮来从我的 Odoo 模块中的 website
页面发送电子邮件。
如果是 "pure" 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
上设置的电子邮件字段实际发送它?
希望我已经解释清楚了,如果您有任何疑问,请告诉我。
是的,您可以使用 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),那么你可以这样做:
create a variable like this:
var varname=require('model name')
如果您的文件在另一个模型中并且您想要访问它,那么您必须这样做而不是之前的变量创建行:
var varnm=require('foldername.filename')
如果您对此有任何疑问,请随时提出,如果您觉得这个答案有帮助,请投票或使其成为有效答案。
谢谢
我想知道,如果我添加一个按钮来从我的 Odoo 模块中的 website
页面发送电子邮件。
如果是 "pure" 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
上设置的电子邮件字段实际发送它?
希望我已经解释清楚了,如果您有任何疑问,请告诉我。
是的,您可以使用 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),那么你可以这样做:
create a variable like this:
var varname=require('model name')
如果您的文件在另一个模型中并且您想要访问它,那么您必须这样做而不是之前的变量创建行:
var varnm=require('foldername.filename')
如果您对此有任何疑问,请随时提出,如果您觉得这个答案有帮助,请投票或使其成为有效答案。
谢谢