odoo12 视图使用方式(一)
odoo12 视图使用方式(一)
视图定义了模型数据如何显示, 每种类型的视图代表一种数据可视化模式,基本的视图定义 一个 视图是以一条ir.ui.view模型数据的形式定义的。可以用于存储业务数据,用于向用户展现数据以 及输入数据等。View的构成包括field,group,button,page,notebook,tree,form,footer等 用户界面设计元素。
通用结构
name 当前视图的描述 model 视图链接的模型 priority 优先级,客户端请求视图时会通过id或者model,type进行搜索,对于按照model和type搜 索的情况会将所有匹配model和type的数据全部搜索出来,然后会将该属性最小值的视图 返回 arch 视图布局的描述 groups_id:权限组, inherit_id 当前视图的父及视图,一般用于继承或修改父视图,常用于添加字段或 修改属性,继承规范后续介绍 banner_route 加载视图时的路由地址,在对应的路由方法返回的json串需要包含 key html,只有扩展tree,kanbn,form等属性时才可以使用该属性,例如 .. code-block:: xml <tree banner_route="/module_name/hello" /> .. code-block:: python class MyController(odoo.http.Controller): @http.route('/module_name/hello', auth='user', type='json') def hello(self): return { 'html': """ <div> <link href="/module_name/static/src/css/banner.css" rel="stylesheet"> <h1>hello, world</h1> </div> """
-
Tree视图
以列表形式展示多条数据,根元素是,其中包裹任意field,每一个field就是列
表中的一列。包含以下属性:
editable 该属性可以控制视图本身就可以编辑,包含两个选项值top/bottom,用于控
制新纪录位于列表的
底部或者顶部
default_order 默认排序规则
colors 被decoration-{KaTeX parse error: Expected 'EOF', got '}' at position 5: name}̲代替 fonts 被…name}代替
{$name} 可选值 bf (‘font-weight:bold’)
It(‘font-style’:italic)
颜色标识:-danger,-primary,-success,-info,-warning
create,edit,delete:表示该视图下的记录是否可以创建,编辑,删除(属性值只能为
true/false),否则不生效
limit:单页默认显示数据个数
String 显示名称
field 定义应在当前记录上显示的列
Name 要在当前模型中显示的列的名称(每个视图中只能别使用一次)
String 当前列字段的名称
Invisible 获取并存储该字段,但不显示
Groups 权限组,表示哪些组可以看到该字段
Widget 挂件,系统挂件主要有以下:
Progressbar, 进度条挂件
Many2onebutton (后续了解)
Handle 拖动挂件,只能用于sequence字段,如下图:
Sum,avg 统计函数功能,求总和或平均值
attrs 基于记录值得动态属性,可以根据字段值进行属性控制,包invisible,readonly
等
control 为当前视图定义客户端控制作用于one2many字段即form下的tree,除了一
下子元素不支持任务其他属性
Create 会在当前列表视图下增加一个添加记录的元素,当定义了该元素时,会重
写”添加一行”按钮
String(必输),标识当前按钮的显示文本
Context上下文当前元素里的上下文会和当前记录本身的上下文合并,可以用来重写
默认值
例如产品的行视图,设置more显示类别字段
… code-block:: xml<control> <create string="Add a product"/> <create string="Add a section" context="{'default_display_type': 'line_section'}"/> <create string="Add a note" context="{'default_display_type': 'line_note'}"/> </control>
Button :
icon 显示按钮的图标
string 显示按钮的文本内容
type:按钮的类型
Object: 当类型为object是,点击该按钮会调用方法,该按钮的名称为方法名,可以调用当前记录以及上下文,该模式下按钮属性args,可以为按钮方法提供json格式的参数
Actoin: 当类型为action时,点击该按钮会调用对应的动作,当前动作的name是对应的数据库动作的id,从上下文中可以拿到当前模型(active_model)以及数据(active_ids),
2.Form视图
Form视图时用来显示单一记录的表单视图,根元素是,视图由普通的html和其他结构组件组成,包含以下组件:
notebook 定义选项卡部分,每一个tab页可以定义page子元素,每个page元素可以 使用以下属性。
String: 表示page页签的显示文本
Attrs:基于记录值得动态属性
group 用于在表单中定义列布局,默认情况下组定义两列,一列显示label(字段文本名称),另外一列显示字
段value,可以使用col定义group中显示的列数
String:组标题
newline 仅可以在group元素中使用,表示提前结束当前行并立即切换到新行
separator 水平间隔,如果 有string属性则表示标题
sheet 可以直接作为form的子元素使用,以便获得更窄的布局
header 和sheet匹配使用,类似于表头属性,一般用于显示工作流按钮或状态挂件
button:部分属性可参看tree视图中的介绍,在form视图中可以添加以下属性
Special 在打开的form弹出框中的按钮中可以为该属性指定以下值save/cancel,当指定为save时,会保存该记录并关闭对话框,当指定为cancel时不保存记录但关闭对话框
field 渲染当前记录的单个字段,可以使用以下属性
Name:需要渲染的字段名称
Widget 挂件:可参考tree视图字段挂件,特殊挂件有clickable
options 属性值json对象,例如
class属性,渲染元素的html class,在odoo中已经封装好的有以下
oe_inline 行内
oe_left 靠左
oe_right 靠右
oe_read_only 只有在读时显示,oe_edit_only:编辑时显示
attrs 基于记录值得动态属性
domain 该字段值得搜索条件
context 上下文属性
readonly 只读属性
required 是否必输
nolabel 不会显示字段的文本显示信息
placeholder 填写提示
业务视图
一般来说业务视图包含以下部分,状态导航栏(header),sheet页部分(moddle),视图结构如下,状态栏如下图
<form> <header> ... content of the status bar ... </header> <sheet> ... content of the sheet ... </sheet> <div class="oe_chatter"> ... content of the bottom part ... </div> </form>
- html及css学习笔记_12_css三种使用方式
- odoo12:日历视图
- WebView(网络视图)的两种使用方式
- ORACLE如何在有视图的SQL中使用hint(提示)来设置视图内的SQL查询方式
- UI12-导航栏视图控制器的使用
- 第04天实战技术(12):UICollectionView基本使用(抽取方式1)
- iPhone开发之创建简单界面视图的三种方式之一 使用xcode4自动生成界面
- 使用Asp.net Mvc3 Razor视图方式扩展JQuery UI Widgets方法介绍
- 12-使用java5条件阻塞condition实现线程间通信-实现线程间通信方式(2)
- 【Spring】12、Spring Security 四种使用方式
- 如何在ubuntu里使用资源视图的方式打开任意目录?
- 使用物化视图的方式进行表级数据同步示例
- ORACLE如何在有视图的SQL中使用hint(提示)来设置视图内的SQL查询方式
- ASP.NET MVC传递Model到视图的多种方式总结(一)__通用方式的使用
- SUSE Linux Enterprise Server 12 使用二进制文件方式快速安装 Docker CE (社区版)
- 使用物化视图的方式进行表级数据同步示例
- iPhone开发之创建简单界面视图的三种方式之二 使用Xcode4完全手动构建界面
- SSM创建-Spring 使用注解方式配置声明式事务(12)
- odoo10使用继承的方式编写一个培训管理模块
- CodeIgniter 视图使用两种模板Template布局的方式