一、Common Structure(共同结构)
视图对象公开了许多字段,除非另有说明,否则它们是可选的。
1.name(必填)
在某种列表中查找一个时,它仅用作视图的助记符/描述
2.model
链接到视图的模型(如果适用)(不适用于QWeb视图) 优先
3.priority
客户端程序可以通过id或(模型,类型)请求视图。对于后者,将搜索正确类型和模型的所有视图,并返回具有最低优先级编号的视图(它是“默认视图”)。
priority还定义了视图继承期间的应用程序顺序。
4.arch
视图布局的描述
5.groups_id
Many2many字段允许组查看/使用当前视图
6.inherit_id
当前视图的父视图,请参阅继承,默认情况下未设置
7.mode
继承模式,请参阅继承。如果未设置inherit_id,则模式只能是主模式。如果设置了inherit_id,则默认为扩展名,但可以显式设置为primary
8.application
定义可切换视图的网站功能。默认情况下,始终应用视图
二、Inheritance(继承)
1.View matching(view 匹配)
①如果(模型,类型)请求视图,则匹配具有正确模型和类型,mode = primary和最低优先级的视图
②当id请求视图时,如果其模式不是主模式,则匹配具有模式主模块的最近父模式
2.View resolution (view 解析)
Resolution为请求/匹配的主视图生成最终的arch:
①如果视图具有父级,则完全解析父级,然后应用当前视图的继承规范
②如果视图没有父视图,则其arch按原样使用
③查找具有模式扩展名的当前视图的子项,并将其继承规范应用于深度优先(应用子视图,然后应用子视图,然后应用其兄弟)
应用子视图的结果产生最终结果arch
3.Inheritance specs(继承规范)
继承规范由元素定位器组成,以匹配父视图中的继承元素,以及将用于修改继承元素的子元素。
有三种类型的元素定位器可用于匹配目标元素:
①带有expr属性的xpath元素。 expr是应用于当前arch的XPath表达式2,它找到的第一个节点是匹配
②具有name属性的field元素匹配具有相同名称的第一个字段。匹配期间将忽略所有其他属性
③任何其他元素:匹配具有相同名称和相同属性(忽略位置和版本属性)的第一个元素
继承规范可能有一个可选的position属性,指定如何更改匹配的节点:
①inside(默认)
继承规范的内容将附加到匹配的节点
②replace(替换)
继承规范的内容替换匹配的节点。在规范内容中仅包含$ 0的任何文本节点将被匹配节点的完整副本替换,从而有效地包装匹配的节点。
③after(之后)
继承规范的内容在匹配的节点之后添加到匹配节点的父节点。
④before(之前)
继承规范的内容在匹配节点之前添加到匹配节点的父节点
⑤attributes(属性)
继承规范的内容应该是具有name属性和可选主体的属性元素:
(1)如果属性元素具有主体,则在匹配的节点上创建以其名称命名的新属性,并将属性元素的文本作为值.
(2)如果attribute元素没有body,则从匹配的节点中删除以其名称命名的属性。如果不存在此类属性,则会引发错误。
三、Lists(列表)
列表视图的根元素是<tree> 。表视图的根目录可以具有以下属性:
1.editable(可编辑的)
默认情况下,选择列表视图的行将打开相应的 表单视图。可编辑属性使列表视图本身可就地编辑。
有效值为top和bottom,使新记录分别出现在列表的顶部或底部。
内联表单视图的体系结构是从列表视图派生的。因此,列表视图接受表单视图的字段和按钮上有效的大多数属性,尽管如果列表视图不可编辑,它们可能没有任何意义
2.default_order(默认排序)
覆盖视图的排序,替换模型的默认顺序。该值是以逗号分隔的字段列表,后缀为desc以按相反顺序排序:
<tree default_order="sequence,name desc">
3.colors(颜色)
从9.0版开始不推荐使用:替换为:decoration-{$name}
4.fonts(字体)
从9.0版开始不推荐使用:替换为:decoration-{$name}
5.decoration-{$name}
允许根据相应记录的属性更改行文本的样式。
值是Python表达式。对于每个记录,使用记录的属性作为上下文值来计算表达式,如果为true,则将相应的样式应用于该行。其他上下文值是uid(当前用户的id)和current_date(当前日期为yyyy-MM-dd形式的字符串)。
{$name}
can be bf
(font-weight: bold
), it
(font-style: italic
), or any bootstrap contextual color (danger
,info
, muted
, primary
, success
or warning
).
6.create, edit, delete(创建,编辑,删除)
允许通过将相应的属性设置为false来禁用视图中的相应操作
7.on_write
仅在可编辑列表中有意义。应该是列表模型上方法的名称。在创建或编辑该记录(在数据库中)之后,将使用记录的id调用该方法。
他的方法应该返回一个其他记录的id列表来加载或更新。
8.string
替代视图的可翻译标签, 自8.0版以来不推荐使用:不再显示
列表视图的可能子元素是:
1.button
在列表单元格中显示一个按钮