Día 9: Herencia de Vistas XML con XPath — Haciendo visible el campo heredado
¡Seguimos avanzando en la personalización! En la lección de ayer (Día 8), aprendimos a usar _inherit en Python para extender un modelo base de Odoo (V19) y añadir un nuevo campo. Sin embargo, para que el usuario pueda interactuar con ese campo, necesitamos reflejarlo en la interfaz.
Hoy, en el Día 9, vamos a dar el paso en el Frontend utilizando la herramienta más importante para la modificación de vistas: xpath.
¿Qué hemos añadido en el Día 9?
El cambio principal de esta jornada es la creación del fichero XML de herencia para el modelo que ampliamos, siguiendo la metodología correcta de Odoo.
Los componentes clave que hemos añadido son:
1. La Vía Correcta para Modificar Vistas
En Odoo, nunca se modifica el fichero de vista XML original. En su lugar, creamos un nuevo fichero XML y le decimos a Odoo que herede la vista original usando el atributo inherit_id.
2. El Poder de XPath y la Sintaxis
xpath es el lenguaje que utilizamos para navegar por la estructura de la vista original y encontrar el nodo exacto (un field, group, notebook, etc.) donde queremos inyectar nuestro código.
Hemos aprendido a usar la sintaxis crucial:
- expr: La expresión de búsqueda para encontrar el nodo.
- position: El atributo para indicar si queremos nuestro campo after (después), before (antes) o inside (dentro) del nodo encontrado.
3. Haciendo Visible el Campo Heredado
Al finalizar el código xpath, nuestro nuevo campo Python ya es visible en el Formulario de Cliente (o el modelo que hayamos elegido), cerrando el ciclo completo de la Herencia.
Explicación Detallada en Vídeo
En el siguiente vídeo, te explico paso a paso la sintaxis xpath, cómo usar las herramientas de desarrollador de Odoo para encontrar la ubicación de los nodos y cómo construir correctamente el fichero de herencia XML.
Código Fuente en GitLab
Puedes consultar el código fuente completo de esta lección, con el fichero XML de herencia y el uso de xpath, directamente en nuestro repositorio.
➡️ Ver el Código en GitLab: [ENLACE AL COMMIT DEL DÍA 9]
Conecta Conmigo y Sigue Aprendiendo
¡Ya puedes personalizar cualquier vista de Odoo! Mañana empezamos a crear lógica de negocio con los campos computados.
- LinkedIn: Conecta conmigo en LinkedIn
- YouTube: ¡No olvides suscribirte al canal para no perderte ninguna lección! http://www.youtube.com/@AngelMoya-Odoo