III. Xây dựng mô-đun – Building modules
3. Dạng xem cơ bản
Dạng xem xác định cách hiển thị bản ghi của mô hình. Mỗi loại dạng xem đại diện cho một phương thức trực quan hóa (danh sách các bản ghi, biểu đồ tổng hợp của chúng, ...). Lượt xem có thể được yêu cầu chung thông qua loại của họ (ví dụ: danh sách các đối tác) hoặc cụthể thông qua id củahọ. Đối với các yêu cầu chung, chế độ xem có đúng loại và mức ưu tiên thấp nhất sẽ được sử dụng (do đó, chế độ xem ưu tiên thấp nhất của từng loại là chế độ xem mặc định cho loại đó).
Xem kế thừa cho phép thay đổi dạng xem được khai báo ở nơi khác (thêm hoặc loại bỏ nội dung).
Khai báo dạng xem chung
Một chế độ xem được tuyên bố là một bản ghi của mô hình ir.ui.view. Loại dạng xem được ngụ ý bởi phần tử gốc của trường arch :
<recordmodel="ir.ui.view"id="view_id">
<fieldname="model">object_name</field>
<fieldname="priority"eval="16"/>
<fieldname="arch"type="xml">
<!-- view content: <form>, <tree>, <graph>, ... -->
</field> </record>
Nguy hiểm
Nội dung của dạng xem là XML.
Do đó, trường vòm phải được khai báo là type ="xml" để được phân tích cú pháp chính
xác.
Dạng xem cây
Dạng xem cây, còn được gọi là dạng xem danh sách, hiển thị bản ghi ở dạng bảng.
Yếu tố gốc của dạng <tree>. Dạng đơn giản nhất của dạng xem dạng cây chỉ cần liệt kê tất cả các trường cần hiển thị trong bảng (mỗi trường dưới dạng cột):
<treestring="Idea list">
<fieldname="name"/>
<fieldname="inventor_id"/> </tree>
Dạng xem biểu mẫu
Biểu mẫu được sử dụng để tạo và chỉnh sửa các bản ghi đơn lẻ.
Yếu tố gốc của <form>.Chúng bao gồm các yếu tố cấu trúc cấp cao (nhóm, sổ ghi chép) và các yếu tố tương tác (nút và trường):
<formstring="Idea form">
<groupcolspan="4">
<groupcolspan="2"col="2">
<separatorstring="General stuff"colspan="2"/>
<fieldname="name"/>
<fieldname="inventor_id"/>
</group>
<groupcolspan="2"col="2">
<separatorstring="Dates"colspan="2"/>
<fieldname="active"/>
<fieldname="invent_date"readonly="1"/>
</group>
<notebookcolspan="4">
<pagestring="Description">
</page>
</notebook>
<fieldname="state"/>
</group> </form>
Bài tập
Tùy chỉnh dạng xem biểu mẫu bằng XML
Tạo dạng xem biểu mẫu của riêng bạn cho đối tượng Khóa học. Dữ liệu được hiển thị phải là: tên và mô tả của khóa học.
Bài tập
Sổ ghi chép
Trong dạng xem Biểu mẫu khóa học, đặt trường mô tả dưới một tab, để sau này sẽ dễ dàng thêm các tab khác hơn, chứa thông tin bổ sung.
Dạng xem biểu mẫu cũng có thể sử dụng HTML thuần túy để bố cục linh hoạt hơn:
<formstring="Idea Form">
<header>
<buttonstring="Confirm"type="object"name="action_confirm"
states="draft"class="oe_highlight"/>
<buttonstring="Mark as done"type="object"name="action_done"
states="confirmed"class="oe_highlight"/>
<buttonstring="Reset to draft"type="object"name="action_draft"
states="confirmed,done"/>
<fieldname="state"widget="statusbar"/>
</header>
<sheet>
<divclass="oe_title">
<labelfor="name"class="oe_edit_only"string="Idea Name"/>
<h1><fieldname="name"/></h1>
</div>
<separatorstring="General"colspan="2"/>
<groupcolspan="2"col="2">
<fieldname="description"placeholder="Idea description..."/>
</group>
</sheet> </form>
Dạng xem tìm kiếm
Dạng xem tìm kiếm tùy chỉnh trường tìm kiếm được liên kết với dạng xem danh sách (và các dạng xem tổng hợp khác). Yếu tố gốc của chúng là <search> và chúng bao gồm các trường xác định trường nào có thể được tìm kiếm trên:
<fieldname="inventor_id"/> </search>
Nếu không có chế độ xem tìm kiếm nào tồn tại cho mô hình, Odoo sẽ tạo ra một chế độ chỉ cho phép tìm kiếm trên trường tên.
Bài tập
Tìm kiếm khóa học
Cho phép tìm kiếm các khóa học dựa trên tiêu đề hoặc mô tả của họ.