Odoo Views (二) - Form View

Form view 就是用來詳細的展示單個 record 的各項值。跟節點就是 <form>,它由一些基本的 HTML 和一些特殊結構和語意來組成。

Structural components 結構組成

用來設定 form 的基本頁面結構

  • notebook
    定義了一些 tabbed section,每一個 tab 都是以 <page> 節點的方式定義出來,這個<page> 有以下屬性:

    • string (required) tab 的 title
    • accesskey an HTML accesskey
    • attrs 標準的基於 record values 的動態屬性
  • group
    用來設置forms 中的佈局。默認的,groups定義了 兩列,它的大多數子節點都只佔用一列。如果 <field><group> 內部,那麼將會默認的給這個field一個 label。那麼這個 label 和 這個 field 各佔 一列。
    <group> 的默認列數可以通過設置 col 屬性來被修改。而它裏面的 element 可以設置colspan 屬性來設置佔用多少列。它的子節點是 horizontally 佈局的。
    <group> 可以設置 string 屬性,來顯示 title。

  • newline
    僅僅在<group> 的內部生效。強制換行

  • separator
    一條小的水平分割線,可以設置 string 屬性

  • sheet
    作爲 <form> 的直接孩子節點。更加響應式的佈局

  • header
    通常和<sheet> 一起使用,在 sheet 上面生成一個滿寬度的 header,主要用於放置 workflow button 和 狀態欄。

Semantic components 語義組成

設置了一些與Odoo系統的交互。

  • button 與 Odoo 系統交互,和 list view 中的 button 一樣。

  • field
    渲染當前 record 的某個字段,有如下屬性:

    • name 必選的,就是指明哪個字段將會被渲染出來。
    • widget fields 通常有默認的渲染方式,通過這個可以指定其他渲染方式。
    • options JSON object,用來給當前使用的 widget 提供一些特殊的配置信息
    • class HTML class,通常是下面幾種值
    • oe_inline 阻止默認的換行
    • oe_left, oe_right 當前元素 float 到對應位置
    • oe_read_only, oe_edit_only 只在對應模式下,才顯示這個field
    • oe_no_button 避免 many2one field 的導航 button
    • oe_avatar 圖像 field 的 顯示方式
  • groups 特殊組的人,才顯示這個字段

  • on_change 8.0廢棄,請使用 openerp.api.onchange

  • attrs 根據不同規則,顯示不同屬性。

  • domain 作用於關係型字段,通常用來篩選出合適的值,用來給用戶選擇。

  • context 作用於關係型字段,去獲取合適的值的時候,傳入 context

  • readonly 在編輯和讀的模式下,都是隻讀的,不能修改

  • required 設置之後,該字段必填,如果未填寫,彈出提示。

  • nolabel 只有當前 field 是 group 的直接孩子時,才生效。取消默認 label 顯示

  • placeholder 在字段沒有值的時候,顯示一些幫助信息。
  • mode 作用於 one2many 字段,顯示與這個字段有關聯的record 。值有 tree, form, kanban, graph。默認是 tree
  • help 當鼠標移動在這個字段上時,顯示一些幫助信息
  • filename
  • password 這個字段的模式爲 password, 填寫後顯示 星號。

Business Views guidelines

Business views 主要是面向普通的用戶,而非開發人員。比如在:Opportunites,Products,Partners,Tasks,Projects,etc.
一般來說,a business view 是由下面幾個部分組成:

  1. 頂部的一個 status bar
  2. 中間的 sheet
  3. 底部是歷史操作記錄和各種留言
    這裏寫圖片描述
    在XML中,大部分 form view 都是如下結構定義的
<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>

The Status Bar

這個bar 的作用就是顯示當前 record 的 status 狀態,以及一些 action buttons
這裏寫圖片描述

The Buttons

沒什麼好翻譯的了,都是些設計界面時的建議,沒什麼技術相關,不翻了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章