Nhảy đến nội dung

Chương 6 - Giao diện người dùng

Như vậy chúng ta đã tạo một model mới tương ứng với các quyền truy cập. Bây giờ chúng ta sẽ tạo giao diện với người dùng cho model. Xong chương này chúng ta sẽ tạo một vài menus để truy cấp vào danh sách và hiển thị mặc định (list và view)

File dữ liệu XML

Ở chương 4 chúng ta thêm dữ liệu bằng file CSV, đây là định dạng thuận tiện khi dữ liệu tải ở định dạng đơn giản. Khi định dạng phức tạp hơn ví dụ tải cấu trúc của một view hay mẫu email, chúng ta sử dụng định dạng XML. Điều này sẽ giúp trường bao gồm HTML tags. Trong khi cũng có thể tải những dữ liệu như vậy ở định dang CSV, việc sử dụng XML sẽ thuận tiện hơn. 

<field name="help" type="html">
         <p class="o_view_nocontent_smiling_face">
           Define a new lost reason
         </p><p>
           Use lost reasons to explain why an opportunity is lost.
         </p><p>
           Some examples of lost reasons: "We don't have people/skill", "Price too high"
         </p>
</field>

Các file XML được thêm vào thư mục giống với files CSV và định nghĩa tương tự trong __manifest__.py của mô đun. Nội dung của file dữ liệu cũng được tải theo thứ tự khi mô đun được cài hay cập nhật, do đó tất cả các chú ý cho file CSV cũng dành cho files XML. Khi dữ liệu được liên kết với views thì chúng ta thêm XML file vào thư mục views. 

Ở chương này chúngg ta tải các hành động trước tiên và menu qua một file XML. Hành động và menus là các bản ghi tiêu chuẩn trong CSDL. 

Khi hiệu năng quan trọng thì định dạng CSV được ưu tiên hơn so với định dạng XML. Vì Odoo tải file CSV nhanh hơn so với file XML.

Ở Odoo, giao diện người dùng (hành động, menu và views) được định nghĩa chủ yếu bằng cách tạo và cơ cấu các bản ghi định nghĩa trong một file XML. Mô hình phổ biến là Menu > Action > View. Để truy cập và bản ghi người dùng điều hướng vào menu ở vài mức độ, và mức độ độ sâu nhất là hành động kích hoạt mở một danh sách các bản ghi. 

Hành động (Actions)

Xem thêm Actions.

Mục tiêu của phần này là một hành động được tải trong hệ thống, chúng ta chưa thấy gì ở giao diện người dùng, nhưng file được tải trong log.

INFO rd-demo odoo.modules.loading: loading estate/views/estate_property_views.xml

Actions can be triggered in three ways: Một action được kích hoạt bằng 3 cách.

  1. Bấm chuột (hay chạm trên app) vào mục trình đơn
  2. Bấm vào nút ở views
  3. Hành đồng tuỳ theo đối tượng.

Ở chương này chúng ta chỉ tập trung vào mục 1 - bấm chuột vào trình đơn. Chương kế tâp trung vào mục 2 và mục 3 là nội dung nâng cao. 

Ở mô đun Real Estate, chung ta sẽ liên kết một trình đơn tới model estate.property, do đó chúng ta có thể tạo một bản ghi mới. Hành động có thể được xem là liên kết gữa trình đơn và model. 

Hành động cơ bản của test_model là:

<record id="test_model_action" model="ir.actions.act_window">
    <field name="name">Test action</field>
    <field name="res_model">test_model</field>
    <field name="view_mode">tree,form</field>
</record>
  • id Là mã nhận diện ngoài, được dùng để chỉ ra một bản ghi (không cần biết mã nhận diện trong CSLD)
  • model has a fixed value of ir.actions.act_window (Window Actions (ir.actions.act_window)).
  • name is the name of the action.
  • res_model is the model which the action applies to.
  • view_mode are the views that will be available; in this case they are the list (tree) and form views. We’ll see later that there can be other view modes.

Examples can be found everywhere in Odoo, but this is a good example of a simple action. Pay attention to the structure of the XML data file since you will need it in the following exercise.

Exercise

Add an action.

Create the estate_property_views.xml file in the appropriate folder and define it in the __manifest__.py file.

Create an action for the model estate.property.

Restart the server and you should see the file loaded in the log.

Back to the course
Lecture Course

Phát Triển Odoo Mô Đun

Giá
1.000.000 ₫
Category
Thời gian khóa học
Trình độ
Cơ bản
Giá
Giá
1.000.000 ₫
Phát Triển Odoo Mô Đun
Lessons Of Course

Tài liệu