首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript - Odoo v9社区从网站访问模型字段

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

Stack Overflow用户
提问于 2017-05-10 03:08:51
回答 1查看 1.2K关注 0票数 0

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

如果它是“纯的”javascript,如下所示:

代码语言: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上设置的电子邮件字段发送它?

我希望我已经解释过了,如果你有疑问,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-10 07:02:44

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

您必须在js文件的开头插入这一行:

代码语言:javascript
复制
odoo.define('your model name'  function (require) {"use strict";//your code});

之后,为了访问字段,您必须用xml创建模板,并在js文件中调用该模板。请确保模板包含的字段位于.py文件之后,用于调用该模板,如下所示:

代码语言:javascript
复制
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),那么您可以这样做:

创建如下变量:

代码语言:javascript
复制
var varname=require('model name')

如果您的文件位于另一个模型中,并且您想访问该模型,那么您必须这样做,而不是前面的变量创建行:

代码语言:javascript
复制
var varnm=require('foldername.filename')

如果你对此有任何疑问,请随意提问,如果你觉得这个答案有帮助,那就投票或做出有效的回答。

谢谢

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43882978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档