odoo在form视图右上角添加按钮的方法

odoo的提供了原生方法,在form视图右上角添加按钮
具体实现如下:
1. 在视图中sheet标签下添加按钮button_box模块

<form>
          <sheet>
            <div class="oe_button_box" style="width:100px !important" name="button_box" attrs="{'invisible': [('id', '=', False)]}">
              <button class="oe_stat_button" icon="fa-bug"
                                    type="object" name="open_related_issue_list">
                <field name="issue_count" widget="statinfo" string="issue数量"/>
              </button>
            </div>
2. 要调整按钮大小,修改外层div中的style即可,如果样式不生效,加上!important试一下
3. button标签的type属性为object的时候name属性是调用后端的python函数;type属性的值是action的时候,name属性的写法比较特殊应该是:"%(action的id)d"
4. button标签中的field标签,是正常的字段的写法就行
5. 调用的后端方法:可以打开一个action,也可以做其他操作,这个看需求就行
6. button的name调用对应模块的后端方法,如要返回视图返回一个action就好
@api.multi
    def open_related_issue_list(self):
        '''
        右上角按钮,点击跳转到先关issue页面
        '''
        self.ensure_one()
        list_id = self.env.ref('模块名称.tree视图id').id
        form_id = self.env.ref('模块名称.form视图id').id
        action = {
            'type': 'ir.actions.act_window',
            'res_model': '模块名称',
            'name': '菜单名字',
            'view_type': 'tree,form',
            'view_mode': 'tree,form',
            'views': [[list_id, 'list'], [form_id, 'form']],
            'domain': [('project_id', '=', self.id)],
            'target': 'current',
        }
        return action

效果展示
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值