Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 6311|回复: 0
打印 上一主题 下一主题

OpenERP 视图 & XML基础

[复制链接]

5

主题

5

帖子

17

积分

新手上路

Rank: 1

积分
17
跳转到指定楼层
楼主
发表于 2015-9-1 13:57:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
核心提示:模块中有多种用途的XML文件,但所有XML文件的语法结构都是一样的Xml代码 < data>< openerp>•noupdate=1表示,模块升级时候不更新本文件数据。
模块中有多种用途的XML文件,但所有XML文件的语法结构都是一样的
Xml代码

    1. xml version="1.0"?>  
    2. <openerp>  
    3. <data noupdate="1">  
    4. ...  
    5. data>  
    6. 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代码

    1. <record model="ir.ui.view" id="openacademy_training_tree">  
    2.     <field name="name">openacademy.trainingfield>  
    3.     <field name="model">openacademy.trainingfield>  
    4.     <field name="type">treefield>  
    5.     <field name="arch" type="xml">  
    6.         <tree string="Trainings">  
    7.             <field name="name" />  
    8.             <field name="date_start" />  
    9.         tree>  
    10.     field>  
    11. record>  
    复制代码


注:V6.x 中 增加了 color, toolbar 两个属性,例:
Xml代码

    1. <tree colors="blue:usage=='view';darkred:usage=='internal'">  
    2.     <field name="usage"/>  
    3.     ...  
    4. tree>  
    复制代码


Editable实现记录的列表原地编辑    [tr]
可选值:
•bottom: 新记录在列表的最后插入
•top: 新记录在列表的最上面插入

•列表(Tree View) - TreeXml代码

  • <strong>• 层次结构的树形视图 (parent_id, child_ids)strong>  
    1. <record model="ir.ui.view" id="openacademy_category_tree">  
    2.     <field name="name">openacademy.category.treefield>  
    3.     <field name="model">openacademy.categoryfield>  
    4.     <field name="field_parent">child_idsfield>  
    5.     <field name="type">treefield>  
    6.     <field name="arch" type="xml">  
    7.         <tree string="Categories">  
    8.             <field name="name" />  
    9.         tree>  
    10.     field>  
    11. record>  
    复制代码





Xml代码

  • • 用于Action中的列表视图  
  •   
    1. <record model="ir.actions.act_window" id="openacademy_category_tree_act">  
    2.     <field name="name">All Categoriesfield>  
    3.     <field name="res_model">openacademy.categoryfield>  
    4.     <field name="view_type">treefield>  
    5.     <field name="view_mode">tree,formfield>  
    6.     <field name="domain">[('parent_id', '=', False)]field>  
    7. record>  
    复制代码

  •   
  • • 此例的Domain 过滤出所有一级目录(没有父亲)。  

Xml代码

  • 下例实现“展开按钮”显示子目录。
  •   
    1. <record model="ir.actions.act_window" id="cursus_by_category_act">  
    2.     <field name="res_model">openacademy.cursusfield>  
    3.     <field name="view_type">formfield>  
    4.     <field name="view_mode">tree,formfield>  
    5.     <field name="domain">[('category_id', 'child_of', [active_id])]field>  
    6. record>  
    7.   
    8. <record model="ir.values" id="ir_action_cursus_by_category">  
    9.     <field name="key2" eval="'tree_but_open'" />  
    10.     <field name="model" eval="'openacademy.category'" />  
    11.     <field name="name">Cursusfield>  
    12.     <field name="value" eval="'ir.actions.act_window,%d'%cursus_by_category_act" />  
    13.     <field name="object" eval="True" />  
    14. record>  
    复制代码



•表单(Form View)Xml代码

    1. <record model="ir.ui.view" id="openacademy_training_form">  
    2.     <field name="name">openacademy.trainingfield>  
    3.     <field name="model">openacademy.trainingfield>   
    4.     <field name="type">formfield>  
    5.     <field name="arch" type="xml">  
    6.         <form string="Training">  
    7.             <field name="name" select="1" />  
    8.            <field name="date_start" select="1" />  
    9.         form>  
    10.     field>  
    11. record>  
    复制代码



•查询栏(Search View)
•日历(Calendar View)Xml代码

    1. <record model="ir.ui.view" id="openacademy_training_calendar">  
    2.     <field name="name">openacademy.training.calendarfield>  
    3.     <field name="model">openacademy.trainingfield>  
    4.     <field name="type">calendarfield>  
    5.     <field name="arch" type="xml">  
    6.         <calendar string="Training" date_start="date_start" date_stop="date_stop">  
    7.             <field name="name" />  
    8.         calendar>  
    9.     field>  
    10. record>  
    复制代码

  •   
  • •date_start 开始日期  
  • •date_stop 结束日期 (可选)  


•框图(Diagram View)
•图形(Graph View)Xml代码

    1. <record model="ir.ui.view" id="view_id">  
    2.     <field name="name">view_namefield>  
    3.     <field name="model">object_namefield>  
    4.     <field name="type">graphfield>  
    5.     <field name="arch" type="xml">  
    6.         <graph string=“Graph Title” type="pie">  
    7.             <field name="first_field"/>  
    8.             <field name="second_field" operator="+" />  
    9.         graph>  
    10.     field>  
    11. record>  
    复制代码
  • <strong>• graph 的 type属性可选值:strong>  
  • •pie 饼图  
  • •bar 柱状图  


•甘特图(Gantt View)

File Description
Xml代码
  1. xml version="1.0" encoding="UTF-8" ?>  
  2. <openerp>  
  3. <data>  
  4.       
  5.     <record model="ir.ui.view" id="openacademy_training_form">  
  6.     ...  
  7.     record>  
  8.       
  9.     <record model="ir.actions.act_window" id="openacademy_training_act">  
  10.     ...  
  11.     record>  
  12.   
  13.     <menuitem name="Tools" id="openacademy_training_mi"  
  14. action="openacademy_training_act" />  
  15.   
  16.     <shortcut name="Draft Purchase Order (Proposals)" model="purchase.order"  
  17. logins="demo" menu="m" />  
  18. data>  
  19. openerp>
复制代码








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-5-17 11:16 , Processed in 0.022242 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表