Giới thiệu
Lấy các loại thực thể toàn hệ thống phân loại các trang, biểu mẫu, khối và sản phẩm của bạn.
Thông tin thêm về giao diện người dùng của mô-đun: https://doc.oneentry.cloud/docs/attributes/types/#General-Type-Attributes
🎯 Mô-đun này làm gì?
Mô-đun GeneralTypes cho phép bạn lấy các loại thực thể toàn hệ thống - loại trang, loại biểu mẫu, loại khối và loại sản phẩm - xác định các danh mục nội dung trong dự án OneEntry của bạn. OneEntry sử dụng một tập hợp cố định các loại hệ thống (BlockType) để phân loại các trang (common_page, catalog_page, external_page, error_page), biểu mẫu (form), khối (common_block, product_block, slider_block, …) và sản phẩm (product, service). Mô-đun này là chỉ đọc.
🚀 Bắt đầu nhanh
Khởi tạo mô-đun từ defineOneEntry:
const { GeneralTypes } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Lấy tất cả các loại và sử dụng chúng:
// Returns a combined list of types across all entities.
const types = await GeneralTypes.getAllTypes();
// e.g. [{ id: 1, type: "product" }, { id: 2, type: "common_page" }, ...]
// Filter manually - there is no built-in per-entity filter.
const pageTypes = types.filter((t) => t.type.endsWith("_page"));
console.log(pageTypes);
✨ Khái niệm chính
Hệ thống loại
OneEntry phân loại mỗi thực thể bằng một giá trị BlockType:
| Thực thể | Các loại ví dụ (BlockType) | Mục đích |
|---|---|---|
| Trang | common_page, catalog_page, external_page, error_page | Xác định bố cục và chức năng trang |
| Biểu mẫu | form | Phân loại mục đích biểu mẫu |
| Khối | common_block, product_block, slider_block | Các khối xây dựng cho trang/sản phẩm |
| Sản phẩm | product, service | Phân loại hàng tồn kho sản phẩm |
Cấu trúc thực thể loại
Mỗi loại được trả về bởi getAllTypes() là một GeneralTypeEntity:
interface GeneralTypeEntity {
id: number; // Unique numeric ID (e.g. 1, 2, 3)
type: BlockType; // Type name (e.g. "product", "common_page", "form")
}
📋 Những điều bạn cần biết
Các loại là các danh mục hệ thống đã được định nghĩa trước
Bạn không thể tạo loại thông qua SDK - chúng là một tập hợp cố định các danh mục hệ thống (BlockType) được định nghĩa bởi nền tảng. GeneralTypes chỉ lấy danh sách các loại có trong dự án của bạn. Tất cả việc quản lý loại diễn ra trong bảng điều khiển quản trị OneEntry.
getAllTypes() trả về TẤT CẢ các loại trên tất cả các thực thể
Phương thức này trả về một danh sách kết hợp các loại từ các trang, biểu mẫu, khối, sản phẩm và bất kỳ thực thể nào khác. Không có bộ lọc tích hợp theo danh mục thực thể, vì vậy hãy lọc kết quả thủ công (ví dụ, t.type.endsWith('_page')).
Loại vs. Đánh dấu vs. ID
| Định danh | Nó là gì | Ví dụ | Tốt nhất cho |
|---|---|---|---|
| Loại | Danh mục/phân loại của thực thể | "catalog_page" | Lọc và nhóm |
| Đánh dấu | Định danh duy nhất có thể đọc được | "my_about_page" | Lấy các thực thể cụ thể |
| ID | Định danh số trong cơ sở dữ liệu | 42 | Sử dụng nội bộ |
Sử dụng chuỗi type trong logic mã của bạn (ví dụ: if (page.type === 'catalog_page')) - nó ổn định trên các môi trường, trong khi id có thể khác nhau.
📊 Bảng tham khảo nhanh
| Phương thức | Mô tả | Trường hợp sử dụng |
|---|---|---|
| getAllTypes() | Lấy tất cả các loại chung trong hệ thống | Điền vào danh sách thả xuống, xác thực loại |
❓ Câu hỏi thường gặp (FAQ)
Làm thế nào để tôi tạo các loại mới?
Bạn không thể - các loại là một tập hợp cố định các danh mục hệ thống (BlockType) và mô-đun là chỉ đọc. Lấy các loại có sẵn trong dự án của bạn với getAllTypes().
Làm thế nào để tôi lọc các loại theo thực thể (trang, biểu mẫu, sản phẩm)?
getAllTypes() trả về tất cả các loại trên tất cả các thực thể. Lọc kết quả thủ công, ví dụ types.filter(t => t.type.endsWith('_page')).
Tôi có thể cập nhật hoặc xóa các loại thông qua SDK không?
Không. Mô-đun GeneralTypes là chỉ đọc - tất cả việc quản lý loại diễn ra trong bảng điều khiển quản trị OneEntry.
Sự khác biệt giữa ID loại và tên loại là gì?
Sử dụng chuỗi type cho logic mã và so sánh của bạn (ổn định trên các môi trường). Số id là để tham chiếu cơ sở dữ liệu nội bộ và có thể thay đổi giữa các dự án.
Tôi có thể lưu cache danh sách các loại không?
Có - các loại hiếm khi thay đổi, vì vậy việc lưu cache là được khuyến nghị.
🎓 Thực hành tốt nhất
- Lấy các loại một cách động - đừng mã hóa cứng danh sách loại.
- Sử dụng chuỗi
type, không phảiid- tên loại ổn định trên các môi trường. - Lọc thủ công -
getAllTypes()trả về các loại của mọi thực thể trong một danh sách. - Lưu cache danh sách - nó hiếm khi thay đổi.
- Xử lý các loại không xác định một cách nhẹ nhàng - cung cấp khả năng hiển thị dự phòng.
🔗 Tài liệu liên quan
- Mô-đun Trang - Các trang được phân loại theo loại
- Mô-đun Biểu mẫu - Các biểu mẫu được phân loại theo loại
- Mô-đun Khối - Các khối được phân loại theo loại
- Mô-đun Sản phẩm - Các sản phẩm được phân loại theo loại