我在Odoo 10中的搜索字段中有一些自定义..
我在svnodoo10 \ addons \ web \ static \ src \ js \ widgets \ auto_complete.js中做了更改
原始代码:
odoo.define('web.AutoComplete', function (require) {
"use strict";
var Widget = require('web.Widget');
return Widget.extend({
template: "SearchView.autocomplete",
render_search_results: function (results) {
var self = this;
var $list = this.$el;
$list.empty();
results.forEach(function (result) {
var $item = self.make_list_item(result).appendTo($list);
result.$el = $item;
});
this.show();
// My customization
if(this.history)
{
var $first_list = self.$('li:first-child');
}
//End
},
});
扩展auto_complete_history.js
odoo.define('product.auto_complete_history', function (require) {
"use strict";
var AutoComplete = require('SearchView.autocomplete');
return AutoComplete.extend({
template: "SearchView.autocomplete",
render_search_results: function (results) {
this._super();
if(this.history)
{
var $first_list = self.$('li:first-child');
}
},});
});
但扩展文件不会覆盖代码。 我尝试过Extend,包括但没有运气
请任何人帮助我们如何扩展此文件。
答案 0 :(得分:1)
您需要要求小部件。从您的代码中,您需要小部件使用的模板。
所以而不是
var AutoComplete = require('SearchView.autocomplete');
试
var AutoComplete = require('web.AutoComplete');
此外,您可能需要使用.include
代替.extend
,例如
AutoComplete.include({
// your changes here ...
});