odoo中tree视图上自己定义的按钮如何隐藏
时间: 2024-04-14 17:26:35 浏览: 165
在Odoo的tree视图中,要隐藏自定义按钮,可以通过在相关模型的XML视图中使用`invisible`属性来实现。
首先,找到相关模型的XML视图文件,通常位于`views`文件夹中。然后,在对应的`tree`节点下,找到你要隐藏的按钮的`button`节点。
在该`button`节点中,添加`invisible`属性,并设置其值为一个条件表达式。这个条件表达式可以使用Odoo的域语法来判断是否隐藏按钮。
以下是一个示例:
```xml
<record id="view_model_tree" model="ir.ui.view">
<field name="name">model.tree</field>
<field name="model">your.model</field>
<field name="arch" type="xml">
<tree>
<!-- 其他字段和按钮 -->
<button name="your_button" string="Your Button" type="object"
class="oe_highlight" invisible="context.get('hide_button', False)">
<!-- 按钮的定义 -->
</button>
</tree>
</field>
</record>
```
在上述示例中,`invisible`属性设置为`context.get('hide_button', False)`,它会检查上下文中的`hide_button`键的值。如果为`True`,则隐藏按钮;如果为`False`或不存在该键,则显示按钮。
你可以在相关模型的动作或其他地方设置上下文,来控制按钮的显示和隐藏。例如,通过在动作的`context`中设置`{'hide_button': True}`来隐藏按钮。
记得在修改完视图文件后,重新加载Odoo的模块以使更改生效。
阅读全文