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