<field name="priority" eval="16"/> 可以设置优先级, 值越小, 优先级越高
1 tree视图
tree视图可以通过一些额外的属性控制其行为
decoration-{$name} = 值 - 值为true,则将相应的样式应用于行。 - {$name}可以是bf(font-weight:bold)、it(font-style:italic)或任何bootstrap上下文颜色(danger,info,muted,primary,success,warning) - 上下文: uid(当前用户的标识)和current_date(yyyy-MM-dd格式的当前日期字符串) editable = top/bottom 设置行内编辑, top/bottom就是添加新行时出现的位置。
注意: 在field字段里设置invisible = '1', 则该字段将不可见 # 此种做法仅为了取得该字段的值以方便docoration时根据值做不同的操作, 而不将其显示在前端
2 表单视图
一些标签的作用
sheet 旁边的背景
group 会自动生成label
notebook 将字段放到选项卡中
form视图里也可以直接写html, 但是要闭合单标签
3 搜索视图
odoo默认提供对name字段的搜索.
如果新增对其他字段的搜索用<search></search>
1 搜索视图可以通过filter_domain同时搜索两个字段, 在给定的domain中, self表示用户输入的值
<field name="description" string="Name and description" filter_domain="['|', ('name', 'ilike', self), ('description', 'ilike', self)]"/>
2 自定义过滤器 --> <filter>
必须具有下列属性之一
- domain : 【过滤】
- context :【分组】使用group by 来对字段名分组
a 【过滤】 <filter name="my_courses" string="My Courses" domain="[('responsible_id', '=', uid)]"/> b 【分组】 # 只需要选择一个字段, 然后应用即可 <filter name="by_responsible" string="Responsible" context="{'group_by': 'responsible_id'}"/>
3 设置默认的搜索动作
<field name="context" eval="{'search_default_my_courses': 1}"/>
4 <sepatator>的两个作用
1 将搜索字段和过滤器之间进行分组隔离 2 以(逻辑与)对搜索字段和过滤器进行连接 # 有一条分割线是separator这个标签在界面上显示的效果
4 日历视图
根元素: <calendar>
常用属性: color、date_start、date_stop
inverse函数使得字段可写, 即当字段被设置时, 该函数被调用
5 gantt(甘特图)
仅在专业版中有
水平条状的甘特图通常用于显示项目计划和进度
6 graph (图形视图)
图形视图有4中显示模式, 用@type属性选择默认模式
- Bar (default) 条形图 - Line 2维折线图 - Pie 2维饼图
图形视图包含的<field>元素有@type属性定义值:
- row(默认值) 该字段是聚合的 - measure 该字段是分组后聚合的
注意: 图形视图是对数据库值进行聚合, 它们不适用于非存储(计算字段)的
7 看板视图
用于组织任务, 生产过程
看板视图显示一组可按列分组的卡片。每个卡片表示一个记录,每列都显示聚合字段的值。
看板视图将每个卡的结构定义为表单元素(包括基本HTML)和Qweb的混合
8 视图的继承
odoo不是通过覆盖来修改现有视图, 而是通过视图继承. 子视图不仅能够修改继承至父视图的自身内容, 而且能修改和删除俯视图中的内容.
同view的定义写法
1 多了inherit_id指向要改写的视图: <field name="inherit_id" ref="id_category_list"/>
2 在arch里用xpath定位改写的元素
<xpath expr="//field[@name='description']" position="after"> <field name="idea_ids" string="Number of ideas"/> </xpath> expr 在父视图中选者单个元素的XPath表达式。如果没有匹配到元素或者匹配到多个元素则引发错误。 position 对匹配到的元素进行操作。 inside 在匹配元素的末尾追加 before 作为匹配元素的同级元素添加在其前面 after 作为匹配元素的同级元素添加在其后面 replace 替换匹配的元素 attributes 使用新的属性替换匹配元素的属性