Chuyển đến nội dung chính

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
Trangcommon_page, catalog_page, external_page, error_pageXác định bố cục và chức năng trang
Biểu mẫuformPhân loại mục đích biểu mẫu
Khốicommon_block, product_block, slider_blockCác khối xây dựng cho trang/sản phẩm
Sản phẩmproduct, servicePhâ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 danhNó là gìVí dụTốt nhất cho
LoạiDanh 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ệu42Sử 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ứcMô 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ải id - 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