概念
表单视图用于显示来自单个记录的数据。它们的根元素是<form>
。它们由带有附加结构和语义组件的常规超文本标记语言组成
Structural components
结构组件提供几乎没有逻辑的结构或“视觉”功能。它们用作表单视图中的元素或元素集
-
notebook
定义一个选项卡式部分。每个选项卡都是通过页面子元素定义的。页面可以具有以下属性- string (required)
标签的标题 - accesskey
一种超文本标记语言附件 - attrs
基于记录值的标准动态属性
请注意,笔记本不应放在组内
- string (required)
-
group
用于定义窗体中的列布局。默认情况下,组定义2列,组的大多数直接子项使用单个列。默认情况下,组的字段直接子项显示一个标签,标签和字段本身的跨度各为1。组中的列数可以使用colspan属性自定义,元素所占的列数可以使用colspan自定义。
子级水平布局(尝试在更改行之前填充下一列)。
组可以有一个字符串属性,它显示为组的标题
-
newline
仅在组元素中有用,提前结束当前行并立即切换到新行(无需事先填充任何剩余列) -
separator
小的水平行间距,具有字符串属性作为节标题 -
sheet
可以用作表单的直接子表单,以实现更窄、响应更快的表单布局 -
header
结合工作表,在工作表本身上方提供一个全宽位置,通常用于显示工作流按钮和状态小部件
Semantic components
语义组件绑定到Odoo系统并允许与之交互,可用的语义组件是
-
button
调用Odoo系统,类似于列表视图按钮,此外,可以指定以下属性- special
对于在对话框中打开的表单视图:保存以保存记录并关闭对话框,取消以关闭对话框而不保存 - confirm
在执行按钮的Odoo调用之前显示(并供用户接受)的确认消息(也适用于看板视图)
- special
-
field
呈现(并可能允许编辑)当前记录的单个字段。支持在表单视图中多次使用字段,并且字段可以接收修饰符“不可见”和“只读”的不同值。但是,当存在多个字段具有修饰符“必需”的不同值时,不能保证这种行为。字段节点的可能属性是-
name (强制的)
要呈现的字段的名称 -
id
节点ID。当视图中多次出现相同字段时很有用(参见下面的标签组件)。默认为字段名 -
widget
字段具有基于其类型的默认呈现(例如Char、Many2one)。小部件属性允许使用不同的呈现方法和上下文 -
options
JSON对象指定字段小部件的配置选项(包括默认小部件) -
class
在生成的元素上设置超文本标记语言类,常用字段类是-
oe_inline
防止字段后面通常的换行符 -
oe_left, oe_right
将字段浮动到相应的方向 -
oe_read_only, oe_edit_only
仅在相应的表单模式下显示字段 -
oe_avatar
对于图像字段,将图像显示为“头像”(方形,90x90最大尺寸,一些图像装饰)
-
-
groups
仅显示特定用户的字段 -
on_change
在编辑此字段的值时调用指定的方法,可以为用户生成更新其他字段或显示警告
8.0 版后已移除: Use odoo.api.onchange() on the model -
attrs
基于记录值的动态元参数 -
domain
仅对于关系字段,在显示可供选择的现有记录时应用筛选器 -
context
仅对于关系字段,获取可能值时要传递的上下文 -
readonly
以只读和编辑模式显示字段,但绝不使其可编辑 -
required
如果字段没有值,则生成错误并阻止保存记录 -
nolabel
不要自动显示字段的标签,只有当字段是组元素的直接子元素时才有意义 -
placeholder
帮助消息显示在空字段中。可以替换复杂表单中的字段标签。不应该是数据示例,因为用户容易将占位符文本与填充字段混淆 -
mode
对于One2many,用于字段链接记录的显示模式(视图类型)。tree, form, kanban or graph之一。默认为tree(列表显示) -
help
当用户悬停字段或其标签时显示的工具提示 -
filename
对于二进制字段,提供文件名称的相关字段的名称 -
password
指示Char字段存储密码并且不应显示其数据 -
kanban_view_ref
用于在移动环境中从m2o/m2m中选择记录时打开特定的看板视图
-
-
label
当字段组件没有直接放置在组中,或者设置了它的nolabel属性时,字段的标签不会自动与其值一起显示。标签组件是手动显示字段标签的替代方法。可能的属性有-
for (mandatory)
对与标签关联的字段的引用。可以是字段的名称,也可以是字段的id(字段上设置的id属性)。当视图中多次出现同一个字段,并且有几个标签组件与这些字段节点相关联时,这些标签的属性必须是唯一的(在本例中引用对应字段节点的id属性)。 -
string
要显示的标签。默认显示字段的标签(来自模型中的字段定义)。 -
class
与现场组件相同。 -
attrs
与字段组件相同。
-
Generic structure
<form>
<header>
<field name="state" widget="statusbar"/>
</header>
<sheet>
<div class="oe_button_box">
<BUTTONS/>
</div>
<group>
<group>
<field name="fname"/>
</group>
</group>
<notebook>
<page string="Page1">
<group>
<CONTENT/>
</group>
</page>
<page string="Page2">
<group>
<CONTENT/>
</group>
</page>
</notebook>
</sheet>
</form>
根据odoo15的相关文档翻译而来