Odoo17中如何设置标题Title和图标Favicon

先看一下效果

在现代企业管理系统中,个性化是提升用户体验的重要手段之一。Odoo 17作为一款强大的ERP系统,通过自定义标题(Title)和图标(Favicon),可以使您的系统更具品牌特色。本篇文章将介绍如何通过我们的Odoo插件custom_favicon_and_title,轻松实现这一目标。

插件原理

custom_favicon_and_title插件通过扩展Odoo的设置模型,实现了标题和Favicon的自定义配置。以下是该插件的核心代码及其工作原理。

模型定义

首先,我们需要定义一个模型来存储和管理标题和Favicon的设置。我们通过继承res.config.settings模型来实现这一点。

from odoo import models, fields, api
import logging

_logger = logging.getLogger(__name__)

class ResConfigSettings(models.TransientModel):
    _inherit = 'res.config.settings'

    title_prefix = fields.Char(string='Title Prefix', help='Set a prefix for the page title that will be used across the site.')
    ico = fields.Binary(string='Icon')

    @api.model
    def get_values(self):
        res = super(ResConfigSettings, self).get_values()
        res['title_prefix'] = self.env['ir.config_parameter'].sudo().get_param('title_prefix', default='')
        res['ico'] = self.env['ir.config_parameter'].sudo().get_param('ico', default='')

        return res

    def set_values(self):
        super().set_values()
        self.env['ir.config_parameter'].sudo().set_param('title_prefix', self.title_prefix)
        self.env['ir.config_parameter'].sudo().set_param('ico', self.ico)
继承res.config.settings模型的原因

在Odoo中,res.config.settings模型通常用于系统设置。这类模型的一个关键特点是它们继承自TransientModel,即临时模型。这意味着这些设置不会直接存储在数据库的表中,而是临时保存,通常在用户保存设置时被写入相应的配置参数中。

这种设计有以下几个好处:

  1. 简化管理:通过继承res.config.settings,可以将设置项统一放在Odoo的设置界面中,用户可以方便地进行配置和管理。
  2. 避免污染数据:由于TransientModel的数据不会持久化,避免了将临时数据污染到核心业务数据表中。
  3. 自动处理:Odoo自动处理TransientModel的数据存储和读取,无需开发者手动编写复杂的持久化逻辑。

设置界面

为了让用户能够方便地配置标题和Favicon,我们需要在Odoo的设置界面中添加相应的配置项。这可以通过定义一个XML视图来实现。

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="res_config_settings_view_form" model="ir.ui.view">
        <field name="name">res.config.settings.view.form.inherit.title.prefix</field>
        <field name="model">res.config.settings</field>
        <field name="inherit_id" ref="base_setup.res_config_settings_view_form"/>
        <field name="arch" type="xml">
            <div id="languages" position="before">
                <block title="Title And Favicon" name="title">
                    <setting id="title_setting" string="Title Setting" help="Setting your title prefix">
                        <div class="content-group">
                            <div class="row mt16">
                                <label for="title_prefix" string="Title Prefix:" class="col-lg-3 o_light_label"/>
                                <field name="title_prefix" placeholder="Enter title prefix " />
                            </div>
                        </div>
                    </setting>
                    <setting id="x_icon_setting" string="Favicon Setting" help="Setting your own favicon">
                        <div class="content-group">
                            <div class="row mt16">
                                <label for="ico" string="Favicon" class="col-lg-3 o_light_label"/>
                                <field name="ico" widget="image" options="{'size': [0, 50]}" class="oe_avatar" />
                            </div>
                        </div>
                    </setting>
                </block>
            </div>
        </field>
    </record>
</odoo>

部分代码内容已省略........详情请查看文件结尾链接。

安装插件

  1. 下载插件

  2. 上传插件到服务器

    将下载的插件包解压缩,并上传至您的Odoo 17服务器中的addons目录。

  3. 更新应用列表

    登录您的Odoo后台,进入应用菜单,点击“更新应用列表”按钮。

  4. 安装插件

    在应用列表中搜索custom_favicon_and_title,点击安装按钮完成插件的安装。

设置标题和Favicon

  1. 进入设置界面

    插件安装完成后,进入设置菜单,在“常规设置”中找到title and favicon配置部分。

  2. 配置标题

    在标题配置项中,输入您希望显示在浏览器标签页的标题。例如,“我的企业管理系统”。

  3. 配置Favicon

    点击Favicon配置项的上传按钮,选择您希望显示的图标文件。建议使用尺寸为16x16像素或32x32像素的.ico或.png文件。

  4. 保存设置

    配置完成后,点击保存按钮使设置生效。

验证设置

完成上述配置后,刷新浏览器页面,即可看到浏览器标签页的标题和Favicon已经更新为您所设置的内容。如果没有看到更改,请清除浏览器缓存后再尝试。

结语

通过使用custom_favicon_and_title插件,您可以轻松地为Odoo 17系统设置个性化的标题和Favicon,从而提升系统的品牌识别度和用户体验。

购买和下载custom_favicon_and_title插件,请访问以下插件地址

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值