odoo 10如何创建Snippets Javascript选项

问题描述 投票:1回答:3

根据https://www.odoo.com/documentation/10.0/howtos/themes.html#create-snippets,我正在尝试在odoo 10中创建Snippets

我创建了片段并添加了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,因此失败

enter image description here

请帮忙

odoo-10
3个回答
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
投票

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

        },

    });
});

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!")
        },
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.