Chuyển tới nội dung chính

🧩 Viết addon tùy biến

Cách mở rộng Xbook đúng chuẩn là viết một addon riêng, thay vì sửa trực tiếp mã lõi — để dễ nâng cấp và bảo trì.

Cấu trúc tối thiểu

my_module/
├── __init__.py
├── __manifest__.py # khai báo addon
├── models/
│ ├── __init__.py
│ └── my_model.py
├── views/
│ └── my_views.xml
└── security/
└── ir.model.access.csv # phân quyền

__manifest__.py

{
"name": "Tùy biến của tôi",
"version": "1.0.0",
"category": "Customizations",
"depends": ["base", "sale"],
"data": [
"security/ir.model.access.csv",
"views/my_views.xml",
],
"installable": True,
}

Mở rộng model có sẵn

from odoo import models, fields

class SaleOrder(models.Model):
_inherit = "sale.order"

x_ma_kenh = fields.Char(string="Mã kênh bán")

Quy ước

  • Đặt tiền tố riêng cho field/model tùy biến (ví dụ x_) để tránh trùng khi nâng cấp.
  • Khai báo depends đầy đủ các phân hệ mà addon sử dụng.
  • Tham khảo addons_template/ trong repo làm khung khởi tạo.
mẹo

Cài addon: đặt thư mục vào đường dẫn addons, bật chế độ Developer, rồi Cập nhật danh sách ứng dụng và cài như một ứng dụng bình thường.