模板 MyTemplate 不存在 Odoo 15
Template MyTemplate does not exist Odoo 15
有人可以帮忙吗?
我想在 POS Odoo 15 CE 中添加自定义按钮。我关注了这篇文章:https://www.cybrosys.com/blog/how-to-add-buttons-in-pos-using-owl,但似乎从版本 14 到 15 发生了一些变化。
这是我在my_project/static/src/js目录下的js文件:
odoo.define('numenapp_buyer_name.alias_button', function(require) {
'use strict';
const PosComponent = require('point_of_sale.PosComponent');
const ProductScreen = require('point_of_sale.ProductScreen');
const { useListener } = require('web.custom_hooks');
const Registries = require('point_of_sale.Registries');
class AliasButton extends PosComponent {
constructor() {
super(...arguments);
useListener('click', this.onClick);
}
is_available() {
const order = this.env.pos.get_order();
return order;
}
onClick() {
const cli = this.get_client();
alert(cli.name);
}
}
AliasButton.template = 'AliasButton';
ProductScreen.addControlButton({
component: AliasButton,
condition: function() {
return this.env.pos;
},
position: ['before', 'OrderlineCustomerNoteButton'],
});
Registries.Component.add(AliasButton);
return AliasButton;
});
这是我在 my_project/static/src/xml 目录中的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="AliasButton" owl="1">
<div class='control-button'>
Alias
</div>
</t>
</templates>
这是我的manifest.py文件(一份):
'data': [
# 'security/ir.model.access.csv',
'views/views.xml',
'views/templates.xml',
],
'demo': [
'demo/demo.xml',
],
'qweb': [
'static/src/xml/AliasButton.xml',
],
'assets': {
'point_of_sale.assets': [
'numenapp_buyer_name/static/src/js/**/*',
],
},
没有 qweb
条目了。
来自 bundles 文档:
The bundles are defined in each module’s __manifest__.py
, with a dedicated assets
key that contains a dictionary
web.assets_qweb
: all static XML templates used in the backend environment and in the point of sale.
Link web.assets_qweb
中的所有 qweb .xml 如下所示:
'assets': {
'web.assets_qweb': [
'my_project/static/src/xml/AliasButton.xml',
],
},
有人可以帮忙吗? 我想在 POS Odoo 15 CE 中添加自定义按钮。我关注了这篇文章:https://www.cybrosys.com/blog/how-to-add-buttons-in-pos-using-owl,但似乎从版本 14 到 15 发生了一些变化。
这是我在my_project/static/src/js目录下的js文件:
odoo.define('numenapp_buyer_name.alias_button', function(require) {
'use strict';
const PosComponent = require('point_of_sale.PosComponent');
const ProductScreen = require('point_of_sale.ProductScreen');
const { useListener } = require('web.custom_hooks');
const Registries = require('point_of_sale.Registries');
class AliasButton extends PosComponent {
constructor() {
super(...arguments);
useListener('click', this.onClick);
}
is_available() {
const order = this.env.pos.get_order();
return order;
}
onClick() {
const cli = this.get_client();
alert(cli.name);
}
}
AliasButton.template = 'AliasButton';
ProductScreen.addControlButton({
component: AliasButton,
condition: function() {
return this.env.pos;
},
position: ['before', 'OrderlineCustomerNoteButton'],
});
Registries.Component.add(AliasButton);
return AliasButton;
});
这是我在 my_project/static/src/xml 目录中的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-name="AliasButton" owl="1">
<div class='control-button'>
Alias
</div>
</t>
</templates>
这是我的manifest.py文件(一份):
'data': [
# 'security/ir.model.access.csv',
'views/views.xml',
'views/templates.xml',
],
'demo': [
'demo/demo.xml',
],
'qweb': [
'static/src/xml/AliasButton.xml',
],
'assets': {
'point_of_sale.assets': [
'numenapp_buyer_name/static/src/js/**/*',
],
},
没有 qweb
条目了。
来自 bundles 文档:
The bundles are defined in each module’s
__manifest__.py
, with a dedicatedassets
key that contains a dictionary
web.assets_qweb
: all static XML templates used in the backend environment and in the point of sale.
Link web.assets_qweb
中的所有 qweb .xml 如下所示:
'assets': {
'web.assets_qweb': [
'my_project/static/src/xml/AliasButton.xml',
],
},