Nhảy đến nội dung

Giới thiệu

🎯 Mô-đun này làm gì?

Mô-đun ProductStatuses cho phép các điều kiện lọc bổ sung cho các mục trong danh mục bên cạnh các bộ lọc dựa trên thuộc tính hiện có. Product Statuses cho phép bạn tạo nhãn sản phẩm và bộ lọc tùy chỉnh - như "Sản phẩm mới", "Bán chạy nhất", "Giảm giá", "Hết hàng" - để tổ chức và lọc sản phẩm trong danh mục thương mại điện tử của bạn.

Các trạng thái phục vụ như các cơ chế lọc bổ sung cho các mục trong danh mục, hoạt động kết hợp với lọc dựa trên thuộc tính để cung cấp các tùy chọn tổ chức và phân loại chi tiết hơn cho việc quản lý sản phẩm.

Hãy nghĩ về nó như hệ thống gán thẻ cho sản phẩm của bạn - bạn định nghĩa các nhãn trạng thái trong bảng điều khiển quản trị OneEntry (Danh mục > Trạng thái sản phẩm), gán chúng cho các sản phẩm và sử dụng chúng để lọc, gán nhãn và phân loại sản phẩm một cách linh hoạt.


📖 Giải thích đơn giản

Mỗi cửa hàng thương mại điện tử cần làm nổi bật các sản phẩm đặc biệt:

  • 🆕 Sản phẩm mới - Các sản phẩm vừa được thêm vào
  • 🔥 Bán chạy nhất - Các mặt hàng phổ biến
  • 💰 Giảm giá - Các sản phẩm được giảm giá
  • Nổi bật - Các sản phẩm được làm nổi bật
  • 📦 Hết hàng - Các mặt hàng không có sẵn
  • 🎁 Phiên bản giới hạn - Các sản phẩm độc quyền
  • 🚚 Giao hàng miễn phí - Các sản phẩm có giao hàng miễn phí

Vấn đề:

  • 🔒 Không linh hoạt - Cần thay đổi mã để thêm trạng thái mới
  • 📊 Khó quản lý - Nhiều trường boolean
  • 🔄 Không tái sử dụng - Không thể tái sử dụng logic trạng thái
  • 🎨 Không đồng nhất - Các kiểu nhãn khác nhau ở khắp nơi

Giải pháp ProductStatuses:

Lợi ích:

  • 🔒 Linh hoạt - Thêm/xóa trạng thái trong bảng điều khiển quản trị
  • 📊 Dễ quản lý - Định nghĩa trạng thái tập trung
  • 🔄 Tái sử dụng - Trạng thái giống nhau cho nhiều sản phẩm
  • 🎨 Đồng nhất - Hiển thị nhãn đồng nhất

✨ Khái niệm chính

Trạng thái sản phẩm là gì?

Trạng thái sản phẩm là một nhãn/thẻ tùy chỉnh cho các sản phẩm:

  • Tên trạng thái - Tên hiển thị (ví dụ: "Sản phẩm mới", "Giảm giá")
  • Đánh dấu trạng thái - Định danh duy nhất để lọc
  • Màu sắc/Phong cách - Đại diện trực quan (được cấu hình trong quản trị)
  • Liên kết sản phẩm - Các sản phẩm nào có trạng thái này
  • Lọc - Truy vấn sản phẩm theo trạng thái

Quy trình làm việc của trạng thái sản phẩm

1. Tạo trạng thái trong bảng điều khiển quản trị
(ví dụ: "Sản phẩm mới")

2. Gán trạng thái cho các sản phẩm
(Chọn sản phẩm trong quản trị)

3. Lấy trạng thái qua SDK
(ProductStatuses.getProductStatuses())

4. Hiển thị nhãn trạng thái trên các sản phẩm
(Hiển thị nhãn trong danh sách sản phẩm)

5. Lọc sản phẩm theo trạng thái
(Products.getProducts({ statusId }))

Tại sao sử dụng mô-đun ProductStatuses?

Lợi íchMô tả
Lọc linh hoạtLọc sản phẩm theo nhiều tiêu chí tùy chỉnh
Nhãn độngHiển thị nhãn trực quan mà không cần mã hóa
Quản lý dễ dàngThêm/xóa trạng thái trong bảng điều khiển
Nhãn tái sử dụngÁp dụng cùng một trạng thái cho nhiều sản phẩm
Đa ngôn ngữTên trạng thái được địa phương hóa theo ngôn ngữ
Phong cách tùy chỉnhĐịnh nghĩa màu sắc và phong cách theo trạng thái

📋 Những điều bạn cần biết

Trạng thái sản phẩm được tạo trong bảng điều khiển quản trị

Bạn không thể tạo trạng thái qua SDK - chúng được tạo trong bảng điều khiển quản trị OneEntry:

Bảng điều khiển quản trị OneEntry → Danh mục → Trạng thái sản phẩm → Tạo trạng thái → Đặt tên/Đánh dấu → Lưu

Quy trình tạo:

  • Cung cấp một Tên - Định danh trạng thái (bắt buộc)
  • Cung cấp một Đánh dấu - Định danh duy nhất (bắt buộc, chỉ cho phép chữ cái/numbers/'_'/'-' Latin)
  • Nhấn "Tạo" để hoàn tất

Ràng buộc đánh dấu:

  • Chỉ cho phép chữ cái Latin (a-z, A-Z)
  • Số (0-9)
  • Ký hiệu gạch dưới (_) và gạch ngang (-)
  • Không cho phép ký tự đặc biệt hoặc khoảng trắng

Quản lý trạng thái:

  • Xem danh sách - Bảng với các cột Tên, Đánh dấu và Hành động
  • Chỉnh sửa trạng thái - Sửa đổi các trường Tên và Đánh dấu
  • Xóa trạng thái - Xóa các trạng thái không sử dụng
  • Sắp xếp lại - Kéo và thả để thay đổi thứ tự hiển thị (ảnh hưởng đến trường sortOrder)

SDK được sử dụng để lấy trạng thái và lọc sản phẩm, không phải để tạo trạng thái.

Gán trạng thái

Các trạng thái được gán cho sản phẩm trong bảng điều khiển quản trị:

Bảng điều khiển quản trị OneEntry → Sản phẩm → Chỉnh sửa sản phẩm → Gán trạng thái → Lưu

Trong SDK: Các sản phẩm có mảng statusIds với các ID trạng thái đã gán:

const product = await Products.getProductById(123);
console.log(product.statusIds); // [1, 2] - ID trạng thái

Lọc theo trạng thái

Sử dụng ID trạng thái để lọc sản phẩm

Hỗ trợ đa ngôn ngữ

Tên trạng thái được tự động địa phương hóa


💡 Lưu ý quan trọng

Trạng thái được tạo trong bảng điều khiển quản trị

Nhớ: SDK được sử dụng để lấy trạng thái, không phải để tạo chúng.

Để tạo/chỉnh sửa trạng thái: Sử dụng Bảng điều khiển quản trị OneEntry.


Giao diện danh sách trạng thái

Bảng điều khiển quản trị hiển thị tất cả các trạng thái trong một bảng với ba cột:

  • Tên - Định danh trạng thái
  • Đánh dấu - Định danh duy nhất
  • Hành động - Các thao tác chỉnh sửa và xóa, cộng với sắp xếp lại bằng kéo và thả

Xác thực đánh dấu

Quan trọng: Phương thức validateMarker() giúp kiểm tra xem một đánh dấu đã tồn tại hay chưa trước khi tạo/sử dụng nó.

Ràng buộc đánh dấu:

  • Chỉ cho phép ký tự chữ cái Latin (a-z, A-Z, 0-9)
  • Ký hiệu gạch dưới (_) và gạch ngang (-) được phép
  • Không có khoảng trắng hoặc ký tự đặc biệt
  • Phải duy nhất trong tất cả các trạng thái

Nhiều trạng thái cho mỗi sản phẩm

Các sản phẩm có thể có nhiều trạng thái cùng một lúc (ví dụ: "Sản phẩm mới" + "Giảm giá")


Trạng thái so với thuộc tính

ProductStatuses khác với thuộc tính sản phẩm:

Tính năngProductStatusesThuộc tính
Mục đíchNhãn/nhãn/lọcThuộc tính sản phẩm
Ví dụ"Mới", "Giảm giá", "Nổi bật"Màu sắc, Kích thước, Vật liệu
Giá trị nhiềuCó (nhiều trạng thái)Có (nhiều thuộc tính)
LọcĐơn giản (theo ID trạng thái)Phức tạp (phạm vi, giá trị)
Trường hợp sử dụngNhãn tiếp thịThông số sản phẩm

Thực tiễn tốt nhất: Sử dụng trạng thái cho nhãn tiếp thị, thuộc tính cho thông số sản phẩm.


📊 Bảng tham khảo nhanh

Phương thứcMô tảTrường hợp sử dụng
getProductStatuses()Lấy tất cả trạng thái sản phẩmLiệt kê tất cả các trạng thái có sẵn
getProductsByStatusMarker()Lấy trạng thái sản phẩm theo đánh dấuLấy trạng thái theo định danh
validateMarker()Kiểm tra xem đánh dấu đã tồn tạiXác thực đánh dấu trước khi sử dụng

❓ Câu hỏi thường gặp (FAQ)

Sự khác biệt giữa trạng thái sản phẩm và thuộc tính sản phẩm là gì?

Trạng thái sản phẩm là nhãn tiếp thị (Mới, Giảm giá, Nổi bật) để lọc và gán nhãn, trong khi thuộc tính là thông số sản phẩm (Màu sắc, Kích thước, Vật liệu). Sử dụng trạng thái cho thẻ quảng cáo và thuộc tính cho thông số sản phẩm.


Một sản phẩm có thể có nhiều trạng thái cùng một lúc không?

Có! Các sản phẩm có thể có nhiều trạng thái cùng một lúc. Ví dụ, một sản phẩm có thể vừa là "Sản phẩm mới" vừa là "Giảm giá" cùng một lúc. Mảng statusIds trong đối tượng sản phẩm chứa tất cả các ID trạng thái đã gán.


Làm thế nào để lọc sản phẩm theo trạng thái?

Sử dụng các phương thức của mô-đun Products với bộ lọc trạng thái. Truyền ID trạng thái hoặc đánh dấu trong truy vấn của bạn để lấy sản phẩm với các trạng thái cụ thể. Bạn cũng có thể kết hợp nhiều bộ lọc trạng thái.


Làm thế nào để xác thực một đánh dấu trước khi tạo trạng thái?

Sử dụng phương thức validateMarker() để kiểm tra xem một đánh dấu đã tồn tại hay chưa. Điều này giúp ngăn chặn các đánh dấu trùng lặp và đảm bảo rằng đánh dấu của bạn tuân theo quy tắc đặt tên (chỉ cho phép chữ cái Latin, số, gạch dưới, gạch ngang).


Tôi có thể thay đổi thứ tự hiển thị của các trạng thái không?

Có! Trong bảng điều khiển quản trị, bạn có thể kéo và thả các trạng thái để sắp xếp lại chúng. Điều này ảnh hưởng đến trường sortOrder và xác định thứ tự hiển thị trong ứng dụng của bạn.


Làm thế nào để thêm phong cách tùy chỉnh cho nhãn trạng thái?

Lấy tất cả các trạng thái, tạo một ánh xạ từ các đánh dấu trạng thái đến các lớp CSS hoặc kiểu nội tuyến trong mã frontend của bạn. Áp dụng các kiểu này khi hiển thị nhãn sản phẩm dựa trên mảng statusIds của sản phẩm.


🎓 Thực tiễn tốt nhất

  • Sử dụng các đánh dấu mô tả - new_arrival, không phải status1
  • Định nghĩa màu sắc một cách nhất quán - Sử dụng bảng màu thương hiệu
  • Giới hạn trạng thái hoạt động - Đừng làm người dùng choáng ngợp với quá nhiều nhãn
  • Giữ tên trạng thái ngắn gọn - "Giảm giá" tốt hơn "Sản phẩm đang giảm giá"
  • Sử dụng trạng thái để lọc - Làm cho các trạng thái có thể lọc trong UI
  • Lưu trữ trạng thái - Chúng hiếm khi thay đổi, lưu trữ để cải thiện hiệu suất
  • Hiển thị nhiều trạng thái - Hiển thị tất cả các nhãn liên quan trên sản phẩm
  • Sử dụng trạng thái để sắp xếp - Sắp xếp theo trạng thái "Nổi bật" trước

Thêm thông tin về trạng thái sản phẩm trong bảng điều khiển quản trị OneEntry: https://doc.oneentry.cloudhttps://doc.oneentry.cloud/docs/catalog/product-statuses/


Định nghĩa của mô-đun ProductStatuses

Mô-đun ProductStatuses quản lý các trạng thái phục vụ như các bộ lọc bổ sung bên cạnh các điều kiện được xác định bởi các thuộc tính. Product Statuses cho phép các điều kiện lọc bổ sung cho các mục trong danh mục trong Nền tảng OneEntry, hoạt động kết hợp với lọc dựa trên thuộc tính.


const { ProductStatuses } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 Tài liệu liên quan