피드로 돌아가기
Dev.toFrontend
원문 읽기
OWL Framework 기반 Odoo 19 Custom Widget 설계 및 Registry 등록 체계 구축
How to Create a Simple Widget in Odoo 19
AI 요약
Context
표준 UI 필드 제공 방식만으로는 복잡한 비즈니스 요구사항에 따른 인터페이스 커스텀 구현에 한계 존재. 재사용 가능한 UI 요소를 통해 필드 데이터 표시 및 상호작용 방식을 정의하는 확장 구조 필요.
Technical Solution
- OWL(Odoo Web Library) Component 기반의 선언적 UI 구조 설계
- Component 내 props.record.data 참조를 통한 실시간 필드 데이터 바인딩 구현
- registry.category('fields').add 인터페이스를 통한 런타임 위젯 매핑 체계 구축
- supportedTypes 정의를 통해 특정 데이터 타입(char 등)에 한정된 위젯 적용 범위 제어
- web.assets_backend 매니페스트 설정을 통한 JS/XML/CSS 자산의 정적 로딩 최적화
- XML View 내 widget 속성 선언을 통한 데이터 모델과 UI 컴포넌트의 느슨한 결합(Loose Coupling) 실현
실천 포인트
1. OWL Component 상속을 통한 UI 로직 분리 여부 확인
2. fields registry 등록 시 supportedTypes를 정의하여 타입 안정성 확보
3. manifest의 assets_backend 경로에 정적 파일이 정확히 포함되었는지 점검
4. props.record.data를 통한 데이터 접근 시 null 값에 대한 fallback 처리 적용