Nhảy đến nội dung

Chương 1 - Odoo Là Một Ứng Dụng Đa Lớp

Odoo được thiết kế theo kiểu kiến trúc nhiều lớp tách biệt với nhau, bao gồm các lớp ngoài, lớp logic và lợp lưu trữ dữ liệu. Một cách cụ thể thì, nó sử dụng 3 lớp kiến trúc. 

Lớp ngoài (Presentation tier) là sự kết hợp của HTML5, Javascript và CSS. 

Lớp logic (Logic tier) được viết toàn bộ bằng Python

Lớp dữ liệu (Data tier) hỗ trợ PostgreSQL và RDBMS.

Tuỳ thuộc vào quy mô của mô đun mà bạn đang phát triển, việc phát triển Odoo có thể được tiến hành trên bất kỳ lớp nào. Do đó, trước khi đi xa hơn, nếu bạn không hiểu hết các nội dung này thì nên làm mới kiến thức của bạn với HTML và Python trình độ trung cấp. Những nội dung cao cấp đòi hỏi kiến thức nhiều hơn từ các môn khác. Có rất nhiều hướng dẫn miễn phí, tuỳ thuộc vào kiến thước nền của bạn mà chọn cho mình một hướng dẫn phù hợp.

Odoo Mô đun

Một odoo mô đun sẽ bao gồm Server và client extensions:

Server: Data và CSLD

Trong khi Client extensions là phần mở rộng thì Server và client extension được đóng gói là các modules, có tùy chọn để tải ngay ở CSDL. Mô đun là tổng hợp các hàm và dữ liệu hướng tới mục tiêu duy nhất. 

Odoo modules có thể là một logic hoàn toàn mới trong Odoo, và sửa đổi (chỉnh sửa) hay mở rộng logic sẵn có.

Ví dụ một mô đun có thể được tạo và thêm để thêm nguyên tắc tài khoản ở Việt Nam vào tài khoản chung, trong khi một mô đun khác có thể thêm hỗ trợ và trực quan hoá đội xe bus. 

Tất cả mọi thứ trong Odoo bắt đầu và kết thúc với mô đun. 

Tính chuyên ngành (Terminology) Dev có thể nhóm các tính năng kinh doanh vào các mô đun. Mô đun chính xuất hiện trước người dùng đánh dấu và hiện ra là Apps. 

Nhưng phần lớn các mô đun không phải là apps. 

Mô đun có thể là Addons, và là directories mà Odoo server tìm chúng từ addons_path. 

Các Thành Phần Của Một Mô đun

Một mô đun có thể bao gồm nhiều thành phần. Trong đó có đối tượng kinh doanh, object views, file dữ liệu và web controllers.

Đối tượng kinh doanh (Business objects)

Sales order, PO, invoice là các business object được công bố là lớp Python. Các field định nghĩa trong class sẽ được tự động mapped vào cột CSDL nhờ vào lớp ORM. ORM là viết tắt của Object–relational mapping, sẽ được giải thích chi tiết ở các bài sau.

Object views

Để hiển thị nội dung cho người dùng 

Data files

Các file XML hay CSV công bố trong models.

Web controllers

Xử lý yêu cầu từ web - url > hiển thị nội dung

Dữ liệu web tĩnh.

Các hình ảnh, CSS, JavaScript files sử dụng bởi web. Không một cái nào là yêu cầu bắt buộc. Vài mô đun chỉ thêm file dữ liệu, trong khi các mô đun khác có thể chỉ thêm đối tượng business. 

Trong bài này bạn sẽ tạo business object, object views và data files.

Cấu Trúc Mô Đun

Mỗi mô đun là một directory trong một module directory. Mô đun directories được chỉ ra bằng cách sử dụng lựa chọn --addons-path. Như vậy mỗi mô đun là một thư mục trong thư mục mô đun.  --addons-path sẽ chỉ ra thư mục môn đun.

Một Odoo mô đun được công bố trong manifest.

Khi một mô đun bao gồm business objects, chúng được sắp xếp như là một gói Python với files __init__.py file. File này có chỉ dẫn cho việc nhập nhiều file python trong mô đun. 

Đây là cấu trúc cơ bản của một mô đun directory. 

module

├── models

│   ├── *.py

│   └── __init__.py

├── data

│   └── *.xml

├── __init__.py

└── __manifest__.py

Phân tích cấu trúc thì bạn thấy có các file cơ bản  __init__.py và  __manifest__.py, thư mục data và models. Trong models có  ── *.py và ── __init__.py. Trong data có ── *.xml

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