Các thuộc tính tĩnh là các thuộc tính được lưu trữ trong bảng chính của một thực thể - cho các sản phẩm danh mục , catalog_product_entity
. Ví dụ, thuộc tính sku
của các sản phẩm danh mục được định nghĩa là static
. Các thuộc tính tĩnh luôn được Magento tải và rất hữu ích, đặc biệt nếu bạn muốn truy xuất thông tin nhanh chóng hoặc để tối ưu hóa việc tra cứu dữ liệu. Một nhược điểm của loại thuộc tính này là bạn không thể có các giá trị cụ thể của cửa hàng, đây là một trong những lợi thế của hệ thống Magento EAV.
Ngay cả khi bạn xác định một thuộc tính là static
, Magento sẽ không xử lý nó như vậy trừ khi bạn có một cột tương ứng trong bảng thực thể chính. Nếu cột không có ở đó, Magento coi thuộc tính như varchar
mặc định và tìm kiếm nó trong bảng EAV varchar cho mô hình - cho các sản phẩm , catalog_product_entity_varchar
.
Nếu bạn muốn sử dụng các thuộc tính tĩnh trong dự án của mình, bạn phải thực hiện 2 điều trong tập lệnh cài đặt / nâng cấp. Đầu tiên, bạn cần thêm một cột vào bảng thực thể chính, với định nghĩa cột chính xác. Tiếp theo, bạn cần cài đặt thuộc tính của mình bằng addAttribute()
phương thức và xác định thuộc tính của bạn là static
. Vui lòng tham khảo các tập lệnh cài đặt Mage_Catalog
để hiểu rõ hơn cách mọi thứ hoạt động trong trường hợp này.
Nếu bạn có kế hoạch chạy thường xuyên các truy vấn dựa trên các thuộc tính tĩnh tùy chỉnh của mình, hãy xem xét thêm một chỉ mục trên cột mới để tăng tốc độ tìm nạp dữ liệu.