В Magento 2 ui_componentсетка на основе позволяет вам изменить порядок столбцов, и Magento запомнит ваши настройки при следующем входе в систему. Это достигается путем сохранения данных в Magento в ui_bookmarkтаблице (через Magento\Ui\Model\Bookmarkобъект модели).
Хотя эта функция полезна, она может создавать проблемы, когда разработчик расширений или системный интегратор использует Magento ui_componentXML для добавления столбцов в таблицу. Если есть пользовательские данные, ui_bookmarkто Magento будет (по-видимому) игнорировать порядок сортировки нового столбца, и могут произойти странные / неожиданные вещи.
Существует ли передовая практика и / или система для разработчиков расширений, которые хотят добавить столбцы в сетку пользовательского интерфейса (как Magento, так и свои) и убедиться, что столбец находится где-то по отношению к другим? то есть - «Эта вторая кнопка действия должна всегда появляться последней или всегда должна быть второй последней», или «поле имени всегда должно быть после идентификатора.
Нужно ли разработчику расширения через app/code/Package/Module/Setup/...класс обращаться к ui_bookmarkтаблице и обновлять эти записи самостоятельно? Или есть лучший способ сделать это? Или разработчикам расширений нужно просто жить со столбцом, добавляемым в неожиданные места, когда у пользователя уже есть запись ui_bookmark?