2

我正在尝试根据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 没有定义见

在此处输入图像描述

请帮忙

4

3 回答 3

7

这是 /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!")

        },

    });

});
于 2016-12-09T13:55:18.210 回答
1

对于 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!")

        },

    });
});
于 2018-03-03T22:03:49.287 回答
0

sombatsombat答案对我有用。在 odooonFocus中使用了 12。此链接上给出了事件列表。

第一个参数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!")
        },
    });
});
于 2019-04-06T18:36:10.003 回答