odoo12自定义按钮覆盖底部自带按钮,xml底部footer标签覆盖问题
问题: odoo自身定义了底部和顶部的按钮,底部按钮定义在footer标签中。当想要覆盖odoo本来的底部按钮时,只需要自定义一个footer标签就可以
解决办法:自定义footer标签
- 在模型对应的xml文件的form视图中新增widget标签
<form> <group> <widget name="tree_buttons" template="inspect_record_form_button"/> </group> </form>、
2、在模型template中新增模型inspect_record_form_button
`
3、定义新的js文件tree_buttons.js获取前端视图的点击事件
`odoo.define('tree_buttons', function (require) {
"use strict";
var Widget = require('web.Widget');
var widget_registry = require('web.widget_registry');
var data_manager = require('web.data_manager');
var session = require('web.session');
var tree_buttons = Widget.extend({
template: 'tem_tree_buttons',
events: {
'click .trigger': function (event) {
// event.stopPropagation();
this.trigger_up("button_clicked", {
attrs: {
type: $(event.currentTarget).attr("type"),
name: $(event.currentTarget).attr("name")
},
record: this.record
});
},
'click .commit': function (event) {
var self = this.__parentedParent.__parentedParent.__parentedParent;
if (self.form_view) {
debugger
return self.form_view.saveRecord(self.form_view.handle, {
stayInEdit: true,
reload: false,
savePoint: self.shouldSaveLocally,
viewType: 'form',
}).then(function (changedFields) {
// record might have been changed by the save (e.g. if this was a new record, it has an
// id now), so don't re-use the copy obtained before the save
var record = self.form_view.model.get(self.form_view.handle);
self.on_saved(record, !!changedFields.length);
}).then(self.close.bind(self));
} else {
debugger
this.trigger_up("button_clicked", {
attrs: {
type: 'object',
name: 'footer_button'
},
record: this.record
});
}
},
'click .cancel': function (event) {
this.do_action({type: 'ir.actions.act_window_close'})
},
},
init: function (parent, options, params) {
this._super(parent, options, params);
this.id = options.res_id;
this.model = options.model;
this.data = options.data;
this.template = params.attrs.template;
this.record = options;
}
});
widget_registry.add('tree_buttons', tree_buttons);
return tree_buttons
});`
至此就完成了前端底部按钮的自定义所有流程。

浙公网安备 33010602011771号