1
다른보기의 동작을 호출하는 트리보기에서 "만들기"단추 앞이나 뒤에 단추를 추가하려고합니다.odoo에 버튼을 추가하는 방법은 무엇입니까?
하지만 헤더 태그를 사용하여 xml에서 odoo 헤더에 단추를 추가하려고하지 않았습니다.
다른보기의 동작을 호출하는 트리보기에서 "만들기"단추 앞이나 뒤에 단추를 추가하려고합니다.odoo에 버튼을 추가하는 방법은 무엇입니까?
하지만 헤더 태그를 사용하여 xml에서 odoo 헤더에 단추를 추가하려고하지 않았습니다.
ListView.buttons
QWEB 템플릿을 확장해야합니다. 새로운 뷰를 정의
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'
});
}
});
}
: 버튼의 논리 (static/src/js
에서 파일을 생성)를 정의하는
<?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>
사용 JavaScript
:
static/src/xml
아래 Qweb을 템플릿을 정의 모듈 자산이 추가됩니다 (
module_name_view.xml) :
<?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>
편집 __openerp__.py
및 추가 다음 절 : 자세한 내용은 Building Interface Extensions에서
'data': [
'module_name_view.xml',
...
],
'qweb': ['static/src/xml/*.xml'],
봐.
어떤보기에서 버튼을 추가 하시겠습니까? – mokiSRB
안녕하세요 @ mokiSRB, 기본 단추를 만들기 전후에 단추를 추가하고 싶습니다. –
이 버튼은 일반적인보기 확장 ('ir.ui.view' 레코드)에 배치 할 수 없습니다. 요구 사항을 충족 시키려면 전체 odoo 클라이언트 (QWeb보기)를 확장해야합니다. – CZoellner