Odoo中文网|Odoo实施培训
标题:
OpenERP 视图 & XML基础
[打印本页]
作者:
七公子
时间:
2015-9-1 13:57
标题:
OpenERP 视图 & XML基础
核心提示:模块中有多种用途的XML文件,但所有XML文件的语法结构都是一样的Xml代码 < data>< openerp>•noupdate=1表示,模块升级时候不更新本文件数据。
模块中有多种用途的XML文件,但所有XML文件的语法结构都是一样的
Xml代码
xml version="1.0"?>
<openerp>
<data noupdate="1">
...
data>
openerp>
复制代码
• noupdate=“1” 表示,模块升级时候不更新本文件数据。
module_name_data.xml
module_name_view.xml
module_name_wizard.xml
module_name_workflow.xml
module_name_report.xml
module_name_demo.xml
(一)什么是视图(View)
Object用于存储业务数据,View用于向用户展现数据以及
输入数据。View的构成包括field,seprator,group,button等用
户界面设计元素。
(二)视图的类型
•列表(Tree View) - List
Xml代码
<record model="ir.ui.view" id="openacademy_training_tree">
<field name="name">openacademy.trainingfield>
<field name="model">openacademy.trainingfield>
<field name="type">treefield>
<field name="arch" type="xml">
<tree string="Trainings">
<field name="name" />
<field name="date_start" />
tree>
field>
record>
复制代码
注:V6.x 中 增加了 color, toolbar 两个属性,例:
Xml代码
<tree colors="blue:usage=='view';darkred:usage=='internal'">
<field name="usage"/>
...
tree>
复制代码
Editable实现记录的列表原地编辑
[tr]
可选值:
•bottom: 新记录在列表的最后插入
•top: 新记录在列表的最上面插入
•列表(Tree View) - Tree
Xml代码
<strong>• 层次结构的树形视图 (parent_id, child_ids)strong>
<record model="ir.ui.view" id="openacademy_category_tree">
<field name="name">openacademy.category.treefield>
<field name="model">openacademy.categoryfield>
<field name="field_parent">child_idsfield>
<field name="type">treefield>
<field name="arch" type="xml">
<tree string="Categories">
<field name="name" />
tree>
field>
record>
复制代码
Xml代码
• 用于Action中的列表视图
<record model="ir.actions.act_window" id="openacademy_category_tree_act">
<field name="name">All Categoriesfield>
<field name="res_model">openacademy.categoryfield>
<field name="view_type">treefield>
<field name="view_mode">tree,formfield>
<field name="domain">[('parent_id', '=', False)]field>
record>
复制代码
• 此例的Domain 过滤出所有一级目录(没有父亲)。
Xml代码
下例实现“展开按钮”显示子目录。
<record model="ir.actions.act_window" id="cursus_by_category_act">
<field name="res_model">openacademy.cursusfield>
<field name="view_type">formfield>
<field name="view_mode">tree,formfield>
<field name="domain">[('category_id', 'child_of', [active_id])]field>
record>
<record model="ir.values" id="ir_action_cursus_by_category">
<field name="key2" eval="'tree_but_open'" />
<field name="model" eval="'openacademy.category'" />
<field name="name">Cursusfield>
<field name="value" eval="'ir.actions.act_window,%d'%cursus_by_category_act" />
<field name="object" eval="True" />
record>
复制代码
•表单(Form View)
Xml代码
<record model="ir.ui.view" id="openacademy_training_form">
<field name="name">openacademy.trainingfield>
<field name="model">openacademy.trainingfield>
<field name="type">formfield>
<field name="arch" type="xml">
<form string="Training">
<field name="name" select="1" />
<field name="date_start" select="1" />
form>
field>
record>
复制代码
•查询栏(Search View)
•日历(Calendar View)
Xml代码
<record model="ir.ui.view" id="openacademy_training_calendar">
<field name="name">openacademy.training.calendarfield>
<field name="model">openacademy.trainingfield>
<field name="type">calendarfield>
<field name="arch" type="xml">
<calendar string="Training" date_start="date_start" date_stop="date_stop">
<field name="name" />
calendar>
field>
record>
复制代码
•date_start 开始日期
•date_stop 结束日期 (可选)
•框图(Diagram View)
•图形(Graph View)
Xml代码
<record model="ir.ui.view" id="view_id">
<field name="name">view_namefield>
<field name="model">object_namefield>
<field name="type">graphfield>
<field name="arch" type="xml">
<graph string=“Graph Title” type="pie">
<field name="first_field"/>
<field name="second_field" operator="+" />
graph>
field>
record>
复制代码
<strong>• graph 的 type属性可选值:strong>
•pie 饼图
•bar 柱状图
•甘特图(Gantt View)
File Description
Xml代码
xml version="1.0" encoding="UTF-8" ?>
<openerp>
<data>
<record model="ir.ui.view" id="openacademy_training_form">
...
record>
<record model="ir.actions.act_window" id="openacademy_training_act">
...
record>
<menuitem name="Tools" id="openacademy_training_mi"
action="openacademy_training_act" />
<shortcut name="Draft Purchase Order (Proposals)" model="purchase.order"
logins="demo" menu="m" />
data>
openerp>
复制代码
欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/)
Powered by Discuz! X3.2