我可以在窗體視圖標題或樹狀視圖行中成功添加按鈕,但是我想在樹狀視圖標題中添加一個自定義按鈕,它位於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 8
- 2. 如何在樹形視圖標題(創建和導入按鈕旁邊)中創建按鈕併爲其提供功能?在odoo 9
- 3. Add button next創建odoo樹視圖中的按鈕
- 4. 在行按鈕附近添加UIView?
- 5. 在UIViewController的後退按鈕附近添加按鈕
- 6. 替換樹視圖「創造」和「導入」按鈕與其他按鈕
- 7. 如何在樹形視圖中添加按鈕下一個打印按鈕?
- 8. 如何在輸入表單附近添加按鈕
- 9. 將按鈕添加到樹視圖行
- 10. 如何將jQuery UI按鈕圖標添加到輸入按鈕?
- 11. 如何在javascript中創建帶圖像和標題的按鈕
- 12. 如何在UITableView的附件視圖中添加多個按鈕?
- 13. 如何在Windows 8中創建「添加」按鈕項GridView
- 14. 在Odoo窗體視圖的右側欄添加按鈕
- 15. Odoo中one2many窗體視圖的按鈕
- 16. 添加在App.xaml中創建的按鈕到一個視圖
- 17. Odoo 8 - 在發票供應商表單中添加按鈕
- 18. 如何在地址欄附近創建按鈕?
- 19. 動態創建和添加滾動按鈕的按鈕
- 20. 如何將兩個按鈕添加到UINavigation欄標題視圖
- 21. 將引導圖標添加到按鈕
- 22. 按鈕,圖標和標題
- 23. 從窗體和列表視圖刪除打印按鈕Odoo 8
- 24. Odoo - 添加按鈕旁邊的「創建」一個
- 25. 將按鈕添加到引導樹視圖節點
- 26. 如何引導按鈕插入圖標
- 27. 創建按鈕像圖標
- 28. 如何用圖標和文本在ActionBar中創建按鈕?
- 29. 添加圖標按鈕
- 30. jQuery添加圖標到按鈕問題
要做到這一點,通過將它們添加到視圖中來添加按鈕會更加複雜。在過去,我使用了一些hacky的JavaScript方法。正確的做法是以不影響其他模型的列表視圖的方式擴展與列表視圖關聯的qweb和javascript。你有任何擴展qweb視圖和Odoo JavaScript類的經驗嗎? –
@PhillipStack,謝謝你的回答,但我已經找到了解決我的問題。 :) –