피드로 돌아가기
How to Create a Simple Widget in Odoo 19
Dev.toDev.to
Frontend

OWL Framework 기반 Odoo 19 Custom Widget 설계 및 Registry 등록 체계 구축

How to Create a Simple Widget in Odoo 19

RayMiles2026년 4월 15일2beginner

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 처리 적용

원문 읽기