Làm cách nào để áp dụng cài đặt hiển thị của danh mục cho tất cả các danh mục?


10

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:


13

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_anchorthuộ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_anchorthuộ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_typeint. Đ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ó.


hoàn hảo! chính xác những gì tôi đang tìm kiếm: D
Aamir Siddique

7
Truy vấn SQL được cập nhật cho các phiên bản mới hơn của Magento (ví dụ: tôi không có cột Parent_id). CẬP NHẬT catalog_category_entity_intđặt giá trị = 1 trong đó eav_attributeproperty_id = (CHỌN thuộc tính_id TỪ nơi thuộc tính_code = 'is_anchor');
Jasuten

@Marius không hoạt động trong trường hợp của tôi, tôi thử CẬP NHẬT catalog_category_intset 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
Dinesh

1
@Dinesh điều này có nghĩa là có gì đó không đúng với ví dụ magento của bạn.
Marius

@Marius cách tìm và sửa nó, bất kỳ trợ giúp
Dinesh

2

Tôi không chắc bạn đang thay đổi cài đặt nào trong danh mục của mình, nhưng nếu nó nằm trong danh sách các tùy chọn trên trang này , thì sử dụng API Magento REST có lẽ là lựa chọn tốt nhất của bạn.


1

Đầ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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.