Giới thiệu
Xây dựng điều hướng và lọc theo nhiều tiêu chí từ một cây bộ lọc nội dung được địa phương hóa duy nhất.
Thông tin thêm về giao diện người dùng của mô-đun https://doc.oneentry.cloud/docs/category/filters
🎯 Mô-đun này làm gì?
Mô-đun Filters cho phép bạn lấy một bộ lọc nội dung theo dấu hiệu của nó. Một bộ lọc nội dung là một cây các mục được biên soạn và địa phương hóa - nó có thể kết hợp các trang, sản phẩm, thuộc tính, giảm giá, thưởng, phương thức thanh toán và các mục tùy chỉnh trong một cấu trúc duy nhất.
Hãy nghĩ về nó như một menu có thể cấu hình của "những thứ để lọc theo" - bạn định nghĩa cây một lần trong bảng điều khiển quản trị OneEntry và kéo nó vào ứng dụng của bạn để hiển thị điều hướng, bộ lọc theo nhiều tiêu chí hoặc danh sách được biên soạn. SDK là chỉ đọc: các bộ lọc được lấy theo dấu hiệu.
🚀 Bắt đầu nhanh
Khởi tạo mô-đun từ defineOneEntry:
const { Filters } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Lấy một bộ lọc theo dấu hiệu và duyệt cây các mục của nó:
// Fetch the "main" content filter, localized to English.
const filter = await Filters.getFilterByMarker("main", "en_US");
console.log(filter.localizeInfos.title);
filter.items?.forEach((node) => {
console.log(node.type, node.marker ?? node.url, node.children?.length ?? 0);
});
✨ Khái niệm chính
Dấu hiệu
Mỗi bộ lọc có một dấu hiệu duy nhất (ví dụ main). Bạn yêu cầu một bộ lọc theo dấu hiệu, và phản hồi được địa phương hóa theo langCode đã yêu cầu.
Cây các mục
Mảng items là một cây: các mục thông thường và tùy chỉnh sống trong cùng một mảng, và mỗi nút có thể có các children lồng nhau. Duyệt cây để hiển thị giao diện người dùng của bạn.
Mỗi nút có một type chỉ đến một cái gì đó trong dự án của bạn:
- page - một liên kết đến một trang (cung cấp một
url) - product - một mục sản phẩm
- attribute - một thuộc tính để lọc theo
- discount / personal-discount - một mục giảm giá
- bonus - một mục thưởng
- payment-method - một phương thức thanh toán
- admin - một mục quản trị
- custom - một mục tùy chỉnh mà bạn đã định nghĩa
Mỗi nút mang thông tin được địa phương hóa (localizeInfos) và có thể chứa các children lồng nhau, vì vậy bạn có thể hiển thị các bộ lọc và menu nhiều cấp trực tiếp từ phản hồi.
📋 Những điều bạn cần biết
- Truyền một
langCodeđể nhận bộ lọc được địa phương hóa cho một ngôn ngữ cụ thể (mặc định làen_US). - Các nút trang (
type: "page") cung cấp mộturl; các loại nút khác sử dụngmarkerđể tham chiếu đến thực thể của chúng. - Trường
valuemang một giá trị nút thống nhất (ví dụ giá trị giảm giá hoặc tiêu đề thuộc tính) khi áp dụng, và lànulltrong các trường hợp khác.
📊 Bảng tham khảo nhanh
| Phương thức | Mô tả |
|---|---|
| getFilterByMarker() | Lấy một bộ lọc nội dung theo dấu hiệu của nó |
❓ Câu hỏi thường gặp (FAQ)
Bộ lọc nội dung đến từ đâu?
Các bộ lọc nội dung được cấu hình trong bảng điều khiển quản trị OneEntry. SDK lấy chúng theo chế độ chỉ đọc theo dấu hiệu.
Làm thế nào để tôi hiển thị một bộ lọc nhiều cấp?
Duyệt đệ quy mảng items - mỗi nút có thể chứa một mảng children với cùng hình dạng nút.
🎓 Thực hành tốt nhất
- Tham chiếu các bộ lọc theo dấu hiệu, không bao giờ theo tiêu đề hiển thị.
- Yêu cầu bộ lọc bằng ngôn ngữ hiện tại của người dùng qua
langCode. - Lưu bộ lọc vào bộ nhớ cache - chúng hiếm khi thay đổi.
🔗 Tài liệu liên quan
- Modules Pages - Các trang được tham chiếu bởi các nút bộ lọc
- Modules Products - Các sản phẩm được tham chiếu bởi các nút bộ lọc
- Modules AttributesSets - Các thuộc tính được tham chiếu bởi các nút bộ lọc