所以,我已经在他们自己的模块中创建了一些具有自己功能的按钮。它们会显示在主POS屏幕上。
我需要稍微改变功能 - 仅在打开新模态时显示这些按钮 - 在模态内呈现的按钮将具有其初始点击功能
(我不知道任何Python)
如何在新模态中继承按钮功能,以使click事件根据每个按钮初始定义执行单独的任务?
我尝试使用
click_me: function(){
button1.click ......
button2.click
}
但由于某种原因,我无法实现这一目标
答案 0 :(得分:0)
首先在代码后面添加你的js文件:
odoo.define('Modulename.filename', function (require) {
"use strict";
var form_widget = require('web.form_widgets');
var core = require('web.core');
var _t = core._t;
var QWeb = core.qweb;
form_widget.WidgetButton.include({
on_click: function() {
if(this.node.attrs.custom === "click"){
//code//
}
this._super();
},
});
});
之后在xml中添加你的js文件:
<?xml version="1.0" encoding="utf-8"?> <odoo>
<template id="assets_backend" name="project assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/product_pack/static/src/js/product_pack.js"></script>
</xpath>
</template> </odoo>
ather在你的py文件中定义你的点击事件功能
class SalePetOrder(models.Model):
_inherit = "xyz"
def java_script(self):
return {"hello": "world"}
在xml中定义你的函数后:
<data>
<header>
<button name="java_script" string="Java Script" type="object" custom="click"/>
</header>
</data
然后在manifest / openerp文件中定义你的js文件和xml文件。
我希望它可以帮到你。