Cập nhật bảng ui_bookmark khi thêm các cột qua ui_component XML


9

Trong Magento 2, các ui_componentlưới dựa trên cho phép bạn sắp xếp lại các cột và Magento sẽ ghi nhớ các cài đặt của bạn vào lần đăng nhập tiếp theo. Điều này được thực hiện bằng cách lưu dữ liệu Magento trong ui_bookmarkbảng (thông qua một Magento\Ui\Model\Bookmarkđối tượng mô hình).

Mặc dù tính năng này gọn gàng, nhưng nó có thể tạo ra sự cố khi nhà phát triển tiện ích mở rộng hoặc nhà tích hợp hệ thống sử dụng Magento ui_componentXML để thêm các cột vào bảng. Nếu có dữ liệu tùy chỉnh ui_bookmarkthì Magento sẽ (dường như) bỏ qua thứ tự sắp xếp của một cột mới và những điều kỳ lạ / bất ngờ có thể xảy ra.

Có cách thực hành và / hoặc hệ thống tốt nhất cho các nhà phát triển tiện ích mở rộng muốn thêm cột vào UI UI (của Magento hoặc của chính họ) và đảm bảo một cột nằm ở đâu đó so với các cột khác không? tức là - "Nút hành động thứ hai này sẽ luôn xuất hiện sau cùng hoặc luôn xuất hiện lần thứ hai cuối cùng" hoặc "trường tên phải luôn ở sau ID.

Có phải một nhà phát triển tiện ích mở rộng, thông qua một app/code/Package/Module/Setup/...lớp, có thể truy cập vào ui_bookmarkbảng và tự cập nhật các mục này không? Hoặc có một cách tốt hơn để thực hiện điều này? Hoặc các nhà phát triển tiện ích mở rộng chỉ cần sống với một cột được thêm vào các vị trí không mong muốn khi người dùng đã có mục nhập ui_bookmark?

Câu trả lời:


4

Tôi nghĩ rằng đây là lỗi trong magento2.

Tôi thường làm sạch bảng ui_bookmark sau khi thêm các cột mới bằng bất kỳ mô-đun nào.

Magento2 lưu vị trí cột ngay cả khi không có bất kỳ sửa đổi nào trong thứ tự cột.

"positions":{
    "ids":0,
    "increment_id":1,
    "store_id":2,
    "created_at":3,
    "billing_name":4,
    "shipping_name":5,
    ...
}

Nhưng nếu vị trí cột sẽ chỉ được lưu trữ sau khi sửa đổi người dùng, chúng tôi sẽ gặp vấn đề tương tự với các cột mới.

Nếu sẽ được thêm vào thứ tự tương đối như là name column after idhay my_column before actions, chúng ta sẽ phải kéo xấu xí của cột trong giao diện người dùng.

Nếu bạn sẽ xóa ui_bookmarkbảng trong khi cài đặt mô-đun - bạn có thể xóa cài đặt người dùng tùy chỉnh cho danh sách.

Có lẽ, các nhà phát triển cốt lõi cần sửa cột hành động như là giải pháp một phần.

Tôi nghĩ rằng câu hỏi này không phải là quyết định đúng đắn duy nhất

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.