我可以在窗体视图标题或树状视图行中成功添加按钮,但是我想在树状视图标题中添加一个自定义按钮,它位于Odoo 8中的“创建”和“导入”按钮附近。我该怎么做?如何在“创建”和“导入”按钮附近的树视图标题中添加按钮Odoo 8?
回答
我发现我的问题的解决方案!如果我使用project.project模型,则替换创建按钮。
1)我创造一些js脚本(静态/ src目录/ JS/task_list.js)与点击收听我的按钮:
openerp.project = function (instance){
var QWeb = openerp.web.qweb;
_t = instance.web._t;
var self = this;
openerp.web.ListView.include({
load_list: function(data) {
this._super(data);
if (this.$buttons) {
this.$buttons.find('.oe_new_button').off().click(this.proxy('do_the_job')) ;
console.log('Save & Close button method call...');
}
},
do_the_job: function() {
this.do_action({
type: "ir.actions.act_window",
name: "Создание нового проекта",
res_model: "project.project",
views: [[false,'form']],
target: 'current',
view_type : 'form',
view_mode : 'form',
flags: {'form': {'action_buttons': true, 'options': {'mode': 'edit'}}}
});
return {
'type': 'ir.actions.client',
'tag': 'reload',
}
}
});
}
2)之后,我创建静态/ src目录/ XML /project_button.xml与模板,它取代“创建”按钮,如果我用project.project模型
<?xml version="1.0" encoding="UTF-8"?>
<template id="template" xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.oe_list_add" t-operation="replace">
<button t-if="widget.model == 'project.project'" class="oe_button oe_new_button oe_highlight" type="button">Создать новый проект</button>
<button t-if="widget.model != 'project.project'" class="oe_button oe_list_add oe_highlight" type="button">Создать</button>
</t>
</t>
</template>
3)后,添加我的JS脚本在web.asset_backend(创建文件PROJ ECT /视图/ project.xml中)
<?xml version="1.0" encoding="utf-8"?>
<!-- vim:fdn=3:
-->
<openerp>
<data>
<template id="assets_backend" name="project assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/project/static/src/js/task_list.js"></script>
</xpath>
</template>
</data>
</openerp>
4)最后,我在项目/ __ openerp__.py节 'qweb' 为静态/ src目录/ XML/project_button.xml, 'JS' 的添加'data'部分的static/src/js/task_list.js和放置文件views/project.xml。
'data': [
'security/project_security.xml',
...
'views/project.xml',
],
'qweb': ['static/src/xml/project_button.xml',],
...
'js': 'static/src/js/task_list.js',
而我的按钮成功替换project.project模型中的旧按钮。
太好了,这可能会有所帮助。谢谢@Roman Gr。 –
你做了一个很好的工作 –
嗨有没有什么办法用模型中的值替换“Создатьновыйпроект”?谢谢 –
- 1. 如何在树形视图标题(创建和导入按钮旁边)中创建按钮并为其提供功能?在odoo 9
- 2. Add button next创建odoo树视图中的按钮
- 3. 如何在树形视图中添加按钮下一个打印按钮?
- 4. 如何将jQuery UI按钮图标添加到输入按钮?
- 5. 如何在javascript中创建带图像和标题的按钮
- 6. 如何在Windows 8中创建“添加”按钮项GridView
- 7. 添加在App.xaml中创建的按钮到一个视图
- 8. 在Odoo窗体视图的右侧栏添加按钮
- 9. Odoo中one2many窗体视图的按钮
- 10. Odoo 8 - 在发票供应商表单中添加按钮
- 11. 按钮,图标和标题
- 12. 从窗体和列表视图删除打印按钮Odoo 8
- 13. 创建按钮像图标
- 14. Odoo - 添加按钮旁边的“创建”一个
- 15. jQuery添加图标到按钮问题
- 16. 在视图中添加一个按钮
- 17. 如何在导航视图中的导航页眉中添加按钮?
- 18. 如何给按钮添加图标
- 19. 添加搜索按钮,而不是输入按钮Windows Phone 8
- 20. 如何仅在odoo中的窗体视图中显示按钮?
- 21. 在屏幕按钮上添加附加按钮
- 22. 在ExtJS中创建链接按钮和图像按钮?
- 23. 如何在Drupal视图中添加单选按钮并提交按钮?
- 24. jsTree - 在checbox树中添加按钮
- 25. 在按钮上添加图像图标?
- 26. 如何在创建用户向导按钮中添加目标页面URL?
- 27. 如何在表格视图中的同一行中添加标签和按钮
- 28. 用创建按钮(odoo)直接打开“one2many窗体视图”
- 29. 如何在扩展视图的类中创建按钮和图像视图?
- 30. 自定义CSS的odoo树视图按钮
要做到这一点,通过将它们添加到视图中来添加按钮会更加复杂。在过去,我使用了一些hacky的JavaScript方法。正确的做法是以不影响其他模型的列表视图的方式扩展与列表视图关联的qweb和javascript。你有任何扩展qweb视图和Odoo JavaScript类的经验吗? –
@PhillipStack,谢谢你的回答,但我已经找到了解决我的问题。 :) –