当前位置: 首页 > news >正文

Odoo创建一个自定义UI视图

Odoo能够为给定的模型生成默认视图。在实践中,默认视图对于业务应用程序来说是绝对不可接受的。相反,我们至少应该以合乎逻辑的方式组织各个字段。

 
视图在带有Actions操作和Menus菜单的 XML 文件中定义。它们是模型的 ir.ui.view 实例。

列表视图

列表视图(也称为树视图)以表格形式显示记录。

Their root element is <tree>. The most basic version of this view simply lists all the fields to display in the table (where each field is a column):
它们的根元素是 <tree> 。此视图的最基本版本只是列出要在表中显示的所有字段(其中每个字段都是一列):

<tree string="Tests"><field name="name"/><field name="last_seen"/>
</tree>

 

表单视图

表单用于创建和编辑单个记录。
它们的根元素是 <form> 。它们由高级结构元素(组和笔记本)和交互元素(按钮和字段)组成:

<form string="Test"><sheet><group><group><field name="name"/></group><group><field name="last_seen"/></group></group><notebook><page string="Description"><field name="description"/></page></notebook></sheet>
</form>


可以使用常规的HTML标签,如 div 和 h1 以及属性 class (Odoo提供了一些内置类)来微调外观。

搜索视图

搜索视图与列表视图和表单视图略有不同,因为它们不显示内容。尽管它们适用于特定模型,但它们用于筛选其他视图的内容(通常是聚合视图,如列表)。除了用例的差异之外,它们的定义方式相同。


它们的根元素是 <search> 。此视图的最基本版本仅列出需要快捷方式的所有字段:

<search string="Tests"><field name="name"/><field name="last_seen"/>
</search>


Odoo生成的默认搜索视图提供了一个快捷方式,可以按 name 进行筛选。在自定义搜索视图中添加用户可能筛选的字段是很常见的。

搜索视图还可以包含 <filter> 元素,这些元素充当预定义搜索的切换开关。筛选器必须具有以下属性之一:

  • domain: adds the given domain to the current search
    domain :将给定域添加到当前搜索中

  • context: adds some context to the current search; uses the key group_by to group results on the given field name
    context :为当前搜索添加一些上下文;使用键 group_by 对给定字段名称的结果进行分组

Domains 域

在Odoo中,域对记录的条件进行编码:域是用于选择模型记录子集的条件列表。每个条件都是一个三元组,其中包含字段名称、运算符和值。如果指定的字段满足应用于该值的运算符的条件,则记录满足条件。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • sentinel网关限流配置及使用
  • 一篇就够mysql高阶知识总结
  • UDP-如何实现客户端与服务器端的通信(一对一、一对多、多对一、多对多之间的通信)
  • C语言丢失精度 如何实现高精度计算
  • ThreadLocal源码分析
  • Spring-Boot基础--yaml
  • Qcom平台通过Hexagon IDE 测试程序性能指导
  • Puppeteer动态代理实战:提升数据抓取效率
  • Qt: 窗口停靠框架
  • PostgreSQL创建表和自增序列
  • [数据分析]脑图像处理工具
  • Qt 实战(6)事件 | 6.3、自定义事件
  • 自定义注解 + Redis 实现业务的幂等性
  • juicefs部署实践
  • 任意空间平面点云旋转投影至水平面—罗德里格旋转公式
  • Cumulo 的 ClojureScript 模块已经成型
  • Docker入门(二) - Dockerfile
  • Intervention/image 图片处理扩展包的安装和使用
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • js 实现textarea输入字数提示
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • mongo索引构建
  • mysql 数据库四种事务隔离级别
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Otto开发初探——微服务依赖管理新利器
  • Python语法速览与机器学习开发环境搭建
  • Sequelize 中文文档 v4 - Getting started - 入门
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Yii源码解读-服务定位器(Service Locator)
  • 大主子表关联的性能优化方法
  • 仿天猫超市收藏抛物线动画工具库
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 回顾2016
  • 计算机在识别图像时“看到”了什么?
  • 将回调地狱按在地上摩擦的Promise
  • 前端知识点整理(待续)
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用SAX解析XML
  • 说说动画卡顿的解决方案
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 网络应用优化——时延与带宽
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 由插件封装引出的一丢丢思考
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #图像处理
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $.proxy和$.extend
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (a /b)*c的值
  • (CPU/GPU)粒子继承贴图颜色发射
  • (solr系列:一)使用tomcat部署solr服务
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)斐波那契Fabonacci函数
  • (入门自用)--C++--抽象类--多态原理--虚表--1020