仪表盘可以通过外部ID引用其他视图文件的内容,整合到一个界面进行显示。

一:建立仪表盘视图文件

views/session_board.xml:

通过外部id引入要展示的视图文件——定义仪表板form表单,把引入的视图文件进行布局显示——定义action,指定打开仪表板视图的动作——定义子菜单绑带到odoo顶级仪表板菜单下,绑定action

<?xml version="1.0"?>
<odoo>
<data>
<!--引用一个模型的图形视图-->
<record model="ir.actions.act_window" id="act_session_graph">
<field name="name"></field>
<field name="res_model">引用的模型</field>
<field name="view_type">form</field>
<field name="view_mode">graph</field>
<field name="view_id"
ref="模型.被引用的视图元素的外部id"/>
</record>
<!--引用日历视图-->
<record model="ir.actions.act_window" id="act_session_calendar">
<field name="name"></field>
<field name="res_model">模型</field>
<field name="view_type">form</field>
<field name="view_mode">calendar</field>
<field name="view_id" ref="模型.视图外部id"/>
</record>
<!--引用模型列表/表单视图-->
<record model="ir.actions.act_window" id="act_course_list">
<field name="name">Courses</field>
<field name="res_model">openacademy.course</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<!--定义仪表板form表单-->
<record model="ir.ui.view" id="board_session_form">
<field name="name">仪表板</field>
<field name="model">board.board</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string=" Dashboard">
<board style="2-1">//有好几种样式:1,1-1,2-1和1-1-1,可以在odoo里面点击切换
<column>//一列
<action
string="视图一"
name="%(上面引入的视图id)d"
height="150"
width="510"/>
<action
string="视图二"
name="%(上面引入的视图id)d"/>
</column>
<column>//第二列
<action
string="视图三"
name="%(上面引入的视图id)d"/>
</column>
</board>
</form>
</field>
</record>
<!--定义动作打开仪表板form视图-->
<record model="ir.actions.act_window" id="open_board_session">
<field name="name">Session Dashboard</field>
<field name="res_model">board.board</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="usage">menu</field>
<field name="view_id" ref="board_session_form"/>
</record>
<!--在odoo原生仪表板菜单下,定义子菜单,把仪表板打开动作绑定到菜单项-->
<menuitem
name="Session Dashboard" parent="base.menu_reporting_dashboard"
action="open_board_session"
sequence="1"
id="menu_board_session" icon="terp-graph"/>
</data>
</odoo>

2:修改manifest文件,添加depends以及注册视图文件:

'depends': ['base', 'board'],

'data': [
......
'views/session_board.xml',
],

odoo开发教程十五:仪表板的更多相关文章

  1. webpack4 系列教程(十五):开发模式与webpack-dev-server

    作者按:因为教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<webpack4 系列教程(十五):开发模式与 webpack-dev-server>原文地址.更欢迎来我的 ...

  2. Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK

    Senparc.Weixin.MP SDK已经涵盖了微信6.x的所有公共API. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:https://github.com/JeffreySu ...

  3. 无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]

    无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...

  4. iOS 11开发教程(五)iOS11模拟器介绍二

    iOS 11开发教程(五)iOS11模拟器介绍二 3.iOS11模拟器中设置语言 对于不同国家的人来说,使用到的语言是不一样的.一般情况下iOS11模拟器默认使用的English(英语).对于英文不好 ...

  5. RabbitMQ入门教程(十五):普通集群和镜像集群

    原文:RabbitMQ入门教程(十五):普通集群和镜像集群 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.c ...

  6. Unity3D脚本中文系列教程(十五)

    http://dong2008hong.blog.163.com/blog/static/4696882720140322449780/ Unity3D脚本中文系列教程(十四) ◆ LightRend ...

  7. 转载收藏之用 - 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK

    Senparc.Weixin.MP SDK已经涵盖了微信5.0的所有公共API,以及2013年10月29日升级之后大部分实用的接口. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:ht ...

  8. NeuChar 平台使用及开发教程(五):使用 NeuChar 的关键字回复服务

    在上一篇<NeuChar 平台使用及开发教程(四):使用 NeuChar 的素材服务>中,我们已经完成了素材的添加,下面,让我们来设置一个关键字回复,并同步到应设置好Neural Endi ...

  9. 【Qt编程】基于Qt的词典开发系列<十五>html特殊字符及正则表达式

    1.html特殊字符的显示 我们知道html语言和C语言一样也有一些特殊字符,它们是不能正常显示的,必须经过转义,在网上可以查到如何显示这些字符,如下图所示: 上图给了最常用的特殊字符的显示,下面我们 ...

  10. 从零开始学ios开发(十五):Navigation Controllers and Table Views(中)

    这篇内容我们继续上一篇的例子接着做下去,为其再添加3个table view的例子,有了之前的基础,学习下面的例子会变得很简单,很多东西都是举一反三,稍稍有些不同的内容,好了,闲话少说,开始这次的学习. ...

随机推荐

  1. Kakao Brain 的开源 ViT、ALIGN 和 COYO 文字-图片数据集

    最近 Kakao Brain 在 Hugging Face 发布了一个全新的开源图像文本数据集 COYO,包含 7 亿对图像和文本,并训练了两个新的视觉语言模型 ViT 和 ALIGN ViT 和 A ...

  2. nodsjs POST请求

    PHP 遇到问题: 1.跨域问题 报failed to load response data:no data fond for response with give header("Cont ...

  3. 在已有的vue项目中添加单元测试模块

    package.json 添加新命令 "test": "jest",下载包: "jest": "^26.6.3", &q ...

  4. ACM-学习记录-素数筛

    前言 近期发现我NEFU低年级组校赛题目只有模拟+数论,恰恰都是我最不会做的,数论方面反反复复用到的就是素数筛,特在此记录一下,闲来无事自己翻阅当作复习复习,以免被到时候一道题都做不出来菜到巨佬们. ...

  5. Hive 和 Spark 分区策略剖析

    作者:vivo 互联网搜索团队- Deng Jie 随着技术的不断的发展,大数据领域对于海量数据的存储和处理的技术框架越来越多.在离线数据处理生态系统最具代表性的分布式处理引擎当属Hive和Spark ...

  6. C#泛型的逆变协变(个人理解)

    前编 一般来说, 泛型的作用就类似一个占位符, 或者说是一个参数, 可以让我们把类型像参数一样进行传递, 尽可能地复用代码 我有个朋友, 在使用的过程中发现一个问题 IFace<object&g ...

  7. CentOS 落幕,将于2021年底结束维护

    官方最新消息: 译文: CentOS项目的未来是CentOS Stream,明年,我们将把重点从重建Red Hat Enterprise Linux(RHEL)的CentOS Linux转移到Cent ...

  8. [MySQL]set autocommit=0与start transaction的区别[转载]

    set autocommit=0指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务. 1.不管autocommit 是1还是 ...

  9. odoo 开发入门教程系列-约束(Constraints)

    约束(Constraints) 上一章介绍了向模型中添加一些业务逻辑的能力.我们现在可以将按钮链接到业务代码,但如何防止用户输入错误的数据?例如,在我们的房地产模块中,没有什么可以阻止用户设置负预期价 ...

  10. Restless API 与 Restful API

    Restful  API: 1.CURD(增删改查) 由请求方式决定 2.请求方式有:get/post/delete/put 3.同一个路径可以进行多个操作 Restless API 1.CURD(增 ...