Tôi có nhiều danh mục và thay vì áp dụng từng cài đặt mới cho tất cả các danh mục, tôi muốn biết liệu điều này có thể áp dụng cài đặt mới cho tất cả các danh mục cùng một lúc không?
Cảm ơn!
Tôi có nhiều danh mục và thay vì áp dụng từng cài đặt mới cho tất cả các danh mục, tôi muốn biết liệu điều này có thể áp dụng cài đặt mới cho tất cả các danh mục cùng một lúc không?
Cảm ơn!
Câu trả lời:
Không có cách nào để làm điều này từ UI.
Cách tôi thường làm là cập nhật các giá trị trong cơ sở dữ liệu. Đó không phải là cách tiếp cận được đề xuất nhưng nó hoạt động.
Giả sử bạn muốn cập nhật is_anchor
thuộc tính thành '1' cho tất cả các danh mục.
SELECT * FROM eav_attribute where attribute_code = 'is_anchor'
Các truy vấn ở trên sẽ cung cấp cho bạn is_anchor
thuộc tính. Tôi là bản ghi mà tôi thấy rằng id thuộc tính là 51 (có thể khác với bạn). và backend_type
là int
. Điều này có nghĩa là các giá trị cho thuộc tính nằm trong bảng catalog_category_entity_int
.
UPDATE `catalog_category_entity_int` set value = 1 where attribute_id = 51 and parent_id <> 0;
Truy vấn này sẽ đặt giá trị 1 cho thuộc tính is_anchor (id 51), cho tất cả các danh mục ngoại trừ 'gốc của tất cả các gốc', danh mục có parent = 0
.
Sau khi tôi chạy truy vấn, tôi giới thiệu lại các danh mục phẳng và đó là nó.
catalog_category_entity_int
đặt giá trị = 1 trong đó eav_attribute
property_id = (CHỌN thuộc tính_id TỪ nơi thuộc tính_code = 'is_anchor');
catalog_category_int
set value = 1 trong đó property_id = 51 và Parent_id <> 0; nhưng lỗi: # 1146 - Bảng 'magento1.catalog_carget_int' không tồn tại
Đầu tiên xác định id thuộc tính của thuộc tính is_anchor:
SELECT * FROM eav_attribute where attribute_code = 'is_anchor';
chúng tôi Nhận id thuộc tính 51 trong cơ sở dữ liệu của tôi. Bây giờ hãy chạy truy vấn sau
UPDATE catalog_category_entity_int set value = 1 where attribute_id = 51;
thay thế 51 bằng id thuộc tính của riêng bạn. Và chỉ cần xây dựng lại các chỉ mục