ui_component XML을 통해 열을 추가 할 때 ui_bookmark 테이블 업데이트


9

Magento 2에서 ui_component기반 그리드를 사용하면 열 순서를 바꿀 수 있으며 Magento는 다음에 로그인 할 때 설정을 기억합니다. 이는 Magento가 데이터를 모델 객체 ui_bookmark를 통해 테이블에 저장하여 수행됩니다 Magento\Ui\Model\Bookmark.

이 기능은 깔끔하지만 확장 개발자 또는 시스템 통합자가 Magento ui_componentXML을 사용 하여 테이블에 열을 추가 할 때 문제가 발생할 수 있습니다 . 사용자 정의 데이터가있는 ui_bookmark경우 Magento는 새 열의 정렬 순서를 (거의 적으로) 무시하고 이상한 / 예기치 않은 일이 발생할 수 있습니다.

UI Grid에 열을 추가하고 (Magento 또는 자체) 열을 추가하려는 확장 개발자를위한 모범 사례 및 / 또는 시스템이 있습니까? 즉, "이 두 번째 작업 버튼은 항상 마지막에 나타나거나 항상 두 번째로 나타나야합니다"또는 "이름 필드는 항상 ID 뒤에 있어야합니다.

확장 개발자는 app/code/Package/Module/Setup/...클래스 를 통해 ui_bookmark테이블에 도달하여 이러한 항목을 직접 업데이트해야합니까? 아니면 이것을 달성하는 더 좋은 방법이 있습니까? 또는 확장 개발자는 사용자가 이미 항목을 가지고있을 때 예기치 않은 장소에 열이 추가되어 살아야 ui_bookmark합니까?

답변:


4

나는 이것이 magento2의 버그라고 생각합니다.

일반적으로 모듈별로 새 열을 추가 한 후 ui_bookmark 테이블을 정리합니다.

Magento2는 열 순서를 수정하지 않아도 열 위치를 저장합니다.

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

그러나 사용자가 수정 한 후에 만 ​​열 위치가 저장되면 새 열에서도 동일한 문제가 발생합니다.

as name column after id또는 과 같은 상대 순서를 추가하면 my_column before actionsUI에서 열을 못생긴 것으로 드래그합니다.

ui_bookmark모듈 설치 중에 테이블 을 지우 면 목록에 대한 사용자 정의 사용자 설정을 지울 수 있습니다.

핵심 개발자는 부분 솔루션만큼 마지막으로 작업 열을 수정해야 할 수도 있습니다.

이 질문은 올바른 결정이 아니라고 생각합니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.