我尝试按文档说明添加,当我更新模块时,它不起作用。
<record id="some_example_id" model="ir.ui.view">
<field name="name">example.name</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form" />
<field name="arch" type="xml">
<data>
<button name="invoice_cancel" position="after">
<button name="test_button" states="draft,proforma2,open" string="test" groups="base.group_no_one" class="oe_highlight"/>
</button>
</data>
</field>
</record>
答案 0 :(得分:0)
你的代码对我来说似乎很好。您可以尝试以下提示。
仅供注意:
您的按钮会调用工作流程,因为您没有为按钮提供类型属性。如果你想直接调用python函数,那么我们需要在按钮中添加属性,如
type="object"
答案 1 :(得分:0)
使用xpath表达式来定位并为你添加元素。
<record id="some_example_id" model="ir.ui.view">
<field name="name">example.name</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form" />
<field name="arch" type="xml">
<!-- using xpath target the element that you want to put button inside
or after or before ex: header -->
<xpath expr="//header" position="inside">
<button name="test_button" states="draft,proforma2,open" string="test" groups="base.group_no_one" class="oe_highlight"/>
</xpath>
</field>
</record>
答案 2 :(得分:0)
只需从该按钮中删除组,然后按钮就会显示。
<button name="invoice_cancel" position="after">
<button name="test_button" states="draft,proforma2,open" string="test" class="oe_highlight"/>
</button>
答案 3 :(得分:0)
不要忘记将您的xml文件添加到Odoo模块清单文件__openerp__.py
或__manifest__.py
下的较新版本data
{
'author': 'me',
'name': 'My Module',
'depends': [base],
# and so on
'data': [
'my/path/to/my/views.xml',
'views/account_invoice_views.xml' # as in the odoo guideline
]
}