前面介紹過
model 文件夾裡面主要定義了 數據表 和 讀取數據的方法,那麼 views 文件夾主要放什麼內容呢?
就是視圖層的 xml 文件了。
視圖層一般用來設計用戶界面,主要分為以下四個視圖:
1.列表視圖:展示數據模型(顯示數據)時使用。
2.表單視圖:創建、編輯數據模型所用視圖。
3.菜單視圖:把 數據模型——菜單——視圖(tree、form) 連接起來
4.搜索視圖:制定odoo右上角對於當前數據模型的可搜索字段以及可用過濾器。
分別進行一下說明:
列表視圖:
<record> /<record>
<field>列表名(自定義)/<field>
<field>模塊.數據模型/<field>
<field> //指明視圖類型/<field>
<tree> //代表列表視圖/<tree>
<field>
<field>
PS:如果要將列表視圖變為直接可編輯模式可以在 tree 裡面添加屬性editable="top" 在頭部修改,editable="bottom" 在底部修改。
如果要設置列表的默認排序方式,屬性 default_order="字段 desc" 表示發送字段倒序排列
例:<tree>
表單視圖:
該視圖在安裝模塊時會加載到數據庫中,使用<record>定義,其中可以加<header>包含按鈕,<sheet>包含數據字段,<notebook>分頁標籤,<group>相當於 div進行分列。/<group>/<notebook>/<sheet>/<header>/<record>
<record>
<field>視圖名稱/<field>
<field>數據模型/<field>
<field>
菜單視圖:
menuitem定義菜單項,先看看菜單之間的關係
動作,定義點擊菜單跳轉到對應的視圖上
<record>
<field>名稱/<field>
<field>模型名稱/<field>
<field>
<field>tree,form/<field>
搜索視圖:
搜索視圖表示建立搜索條件,方便顯示視圖中過濾後的信息,後端調用視圖名稱,返回相應的篩選後的結果
<record>
<field>名稱/<field>
<field>模型名稱/<field>
<field>
<search> //定義搜索視圖/<search>
<field> //可篩選字段
<field>
<group> //分組顯示/<group>
<filter>
context="{'group_by':'user_id'}" />
<separator>
<filter>
context="{'group_by':'date_partnership'}" />
以下是定義一個視圖的示例:
包含列表,表單與菜單視圖
<odoo>
<record>
<field>證書列表/<field>
<field>juxinerp.certificate.management/<field>
<field>
<tree>
<field>
<field>
<field>
<field>
<field>
/<tree>
/<field>
/<record>
<record>
<field>證書表單/<field>
<field>juxinerp.certificate.management/<field>
<field>
/<field>
/<record>
<record>
<field>員工資格證書頁/<field>
<field>juxinerp.certificate.management/<field>
<field>
<field>tree,form/<field>
/<record>
<menuitem>
/<odoo>
以後再詳細分開來敘述上面四種視圖的區別與使用。
以上~
/<filter>/<filter>閱讀更多 壹學好 的文章