Openerp 如何在odoo中添加按钮?
我想在树视图中的“创建”按钮之前或之后添加一个按钮,该按钮调用另一个视图的操作Openerp 如何在odoo中添加按钮?,openerp,odoo-8,odoo-9,odoo-view,Openerp,Odoo 8,Odoo 9,Odoo View,我想在树视图中的“创建”按钮之前或之后添加一个按钮,该按钮调用另一个视图的操作 但当我尝试在xml中添加odoo标题中的按钮时,header标记不起作用。您需要扩展ListView.buttonsQWEB模板 在static/src/xml下定义一个QWEB模板,添加按钮: <?xml version="1.0" encoding="utf-8"?> <template xml:space="preserve"> <t t-extend="ListView
但当我尝试在xml中添加odoo标题中的按钮时,header标记不起作用。您需要扩展
ListView.buttons
QWEB模板
在static/src/xml
下定义一个QWEB模板,添加按钮:
<?xml version="1.0" encoding="utf-8"?>
<template xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.oe_list_add" t-operation="after">
<button t-if="widget.dataset.model == 'model_name'" class="oe_button oe_my_button oe_highlight" type="button">My Button</button>
</t>
</t>
</template>
定义将添加模块资产的新视图(module_name_view.xml):
查看以了解更多详细信息。您希望在哪个视图中添加按钮?您好@mokiSRB,我想在默认的“创建”按钮之前或之后添加一个按钮。该按钮不能放置在典型的视图扩展(
ir.ui.view
records)中。您需要扩展整个odoo客户端(QWeb视图)以满足您的需求。您能分享一些帮助我完成这项工作的参考资料吗,因为我对js不太熟悉。请查看以获得提示,您需要做些什么来实现类似的目标。@user_123 Check questionTags
。它不是为Odoo 11
设计的。
openerp.module_name = function(instance){
instance.web.ListView.include({
load_list: function(data) {
this._super(data);
if (this.$buttons) {
this.$buttons.find('.oe_my_button').off().click(this.proxy('do_the_job')) ;
}
},
do_the_job: function () {
this.do_action({
name: _t("View name"),
type: "ir.actions.act_window",
res_model: "object",
domain : [],
views: [[false, "list"],[false, "tree"]],
target: 'new',
context: {},
view_type : 'list',
view_mode : 'list'
});
}
});
}
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="assets_backend_module_name" name="module_name assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/module_name/static/src/js/script.js"></script>
</xpath>
</template>
</data>
'data': [
'module_name_view.xml',
...
],
'qweb': ['static/src/xml/*.xml'],