Cambios en vistas Odoo v18

Odoo 18 introdujo importantes cambios en la estructura y sintaxis de sus vistas, mejorando la legibilidad, mantenibilidad y flexibilidad del código XML. Si vienes de Odoo 17, aquí te explicamos los principales cambios y cómo adaptarte.

Carlos Blanco

6/19/20252 min read

Eliminación del atributo attrs

En Odoo 17, se usaba attrs para definir condiciones de visibilidad (invisible), requeridos (required) y solo lectura (readonly):

v17:

v18:

Soporta expresiones Python simples (==, !=, in, not in).

La vista tree ahora se llama list.

v17:

Cambia la etiqueta de <tree></tree> por <list></list>

Cambio de color en vistas lista (antes colors, ahora decoration).

Para el cambio de colores en la vista lista, deja de usar por completo colors.

v17:

v18:

Tipos de decoración:

  • decoration-danger (rojo)

  • decoration-success (verde)

  • decoration-info (azul)

  • decoration-warning (amarillo)

Mostrar el chatter en vista de formulario.

En Odoo 17, el Chatter (sección de mensajes y seguimiento) se incluía con la clase <div class="o_chatter"/>, en Odoo 18, solo se ocupa la etiqueta chatter (chatter/>).

v17:

v18:

Ocultar columnas completas en vista lista (Nuevo atributo column_invisible)

Este nuevo atributo oculta toda la columna de una vista lista; su empleo es el siguiente.

Eliminación del Parámetro states

En Odoo 17, se usaba states para controlar visibilidad según el estado:

v17:

Se reemplazó por invisible:

v18:

Odoo 18 modernizó su sintaxis de vistas, haciéndola más consistente y flexible. Los principales cambios son:

· attrs → Atributos directos (readonly, invisible, required).

· treelist.

· colors → decoration-{type}.

· Chatter ahora solo es una etiqueta (<chatter/>).

· column_invisible para ocultar columnas.

· states eliminado ahora se ocupa invisible.

En Exdoo podemos desarrollar cualquier módulo para Odoo en México, implementamos tu ERP con consultores experimentados no solo en Odoo sino en procesos de negocios, tenemos 10 años trabajando solamente con Odoo en México y otros países.