我正在尝试根据https://www.odoo.com/documentation/10.0/howtos/themes.html#create-snippets
在odoo 10中创建代码段我创建了片段并添加了js选项,即示例中的代码
(function() {
'use strict';
var website = odoo.website;
website.odoo_website = {};
website.snippet.options.snippet_testimonial_options = website.snippet.Option.extend({
on_focus: function() {
alert("On focus!");
}
})
})();
失败,因为未定义odoo.website参见
请帮忙
答案 0 :(得分:5)
这是/theme_tst/static/src/js/tutorial_editor.js的正确代码
odoo.define('snippet_testimonial_options', function(require) {
'use strict';
var options = require('web_editor.snippets.options');
options.registry.snippet_testimonial_options = options.Class.extend({
on_focus: function() {
alert("On focus!")
},
});
});
答案 1 :(得分:1)
for odoo11:我需要将on_focus更改为onFocus(没试过odoo10)
odoo.define('snippet_testimonial_options', function(require) {
'use strict';
var options = require('web_editor.snippets.options');
options.registry.snippet_testimonial_options = options.Class.extend({
onFocus: function() {
alert("On focus!")
},
});
});
答案 2 :(得分:0)
sombatsombat 答案对我有用。在odoo 12中使用onFocus
。事件列表在此link上给出。
第一个参数snippet_testimonial_options
也是可选的。我们可以简单地忽略它。
odoo.define(function (require) {
var options = require('web_editor.snippets.options');
console.log(options);
options.registry.snippet_testimonial_options = options.Class.extend({
onFocus: function () {
alert("On focus!")
},
});
});