Блог

Как добавить фоновый цвет к записям в древовидном представлении в Odoo 19

post-title

В Odoo данные обычно представляются в виде списков, но визуальное сканирование множества записей может быть утомительным, если все они выглядят одинаково. Разработчики обычно улучшают читаемость, применяя такие стили, как цвет текста, жирный шрифт или курсив, чтобы выделить отдельные записи.

Использование фонового затенения обеспечивает более четкий и интуитивно понятный способ быстрого различения записей и улучшает пользовательский опыт в модулях с большим количеством списков. Чтобы продемонстрировать эту функцию, мы рассмотрим применение фонового цвета к древовидному представлению заказов на продажу в Odoo 19.

Шаг 1: Определите поле в Python.

В качестве примера давайте создадим новую модель ' my.tasks ' и определим необходимые поля.

# -*- coding: utf-8 -*-
from odoo import models, fields
class MyTasks(models.Model):
   _name = "my.tasks"
   _description = "My Tasks"
   name = fields.Char(string='Name', required=True, help="Name of task")
   status = fields.Selection([
       ('draft', 'Draft'),
       ('in_progress', 'In Progress'),
       ('done', 'Done'),
   ], default='draft', string='Status', help="Status of task")
   due_date = fields.Date(default=fields.Date.today(), string='Due Date', help="Due date of task")
   estimated_hours = fields.Float(default=0, string='Estimated Hours', help="Estimated hours of task")
   priority = fields.Selection([('low', 'Low'), ('medium', 'Medium'), ('high', 'High')], default='low', string='Priority', help="Priority of task")

Шаг 2: Определите XML-представления для модели.

Чтобы применить цветовое оформление к записям в Odoo, вы можете использовать декораторы в представлении списка. Эти атрибуты декораторов позволяют выделять записи на основе определенных условий. Например, вы можете визуально группировать или различать записи, применяя цвета ко всем строкам или отдельным столбцам. Это особенно полезно, когда вы хотите различать записи. Например, разделять задачи или сотрудников по отделу или статусу.


   

   
       my.tasks.view.list
       my.tasks
       
           
               
               
               
               
               
           
       
   

В виде списка это будет выглядеть так:

Также можно раскрасить поля в записи. Для этого необходимо определить цвета, соответствующие этим полям.


   
       my.tasks.view.list
       my.tasks
       
           
               
               
               
               
               
               
           
       
   

Теперь список будет выглядеть так:

Эти элементы оформления можно применять в древовидных представлениях для улучшения читаемости и ускорения анализа записей. Odoo предоставляет несколько визуальных элементов оформления, которые помогают выделить статус или состояние записи:

  • Удачный декор – светло-зеленый
  • основной декоративный – светло-фиолетовый
  • decoration-info – светло-голубой
  • декоративный приглушенный – светло-серый
  • Предупреждение об использовании декоративных элементов – светло-коричневый
  • decoration-anger – светло-красный

Помимо цветов, для выделения отдельных строк можно также использовать декораторы стиля текста:

  • decoration-bf – отображает текст жирным шрифтом
  • decoration-it – отображает текст курсивом

Комбинируя эти декораторы, вы можете создавать более интуитивно понятные и визуально привлекательные древовидные представления, облегчающие пользователям быстрое восприятие информации.

Заключение

Использование декоративных элементов в древовидных представлениях Odoo — эффективный способ упростить восприятие информации с первого взгляда. Цветовая подсветка и стилизация текста помогают привлечь внимание к важным записям, уточнить их статус и улучшить общую навигацию в системе. Внедрение этих визуальных подсказок создает более чистый и интуитивно понятный интерфейс, способствующий более быстрому принятию решений и улучшению пользовательского опыта.