res_config_settings_views.xml 详解

本文详细介绍了Odoo中res_config_settings_views.xml文件的作用,它用于定义自定义配置项在设置界面的显示方式。内容涵盖视图记录、模型、继承以及视图布局的XML描述。通过在__manifest__.py文件中引用,实现UI元素的加载和显示。重点讲解了视图的继承机制和XPath表达式的使用,用于在原有视图基础上进行修改和增强。示例代码展示了如何在页面中插入新的表单内容。
摘要由CSDN通过智能技术生成

res_config_settings_views.xml 文件位于Views文件夹下。
在这里插入图片描述
这个文件主要用于定义我们前面自定义的配置项在ODOO 设置中的显示方式。
在这里插入图片描述
要使这个文件起作用还需要在__manifest__.py文件中,进行引用。
在这里插入图片描述
接下来我们看一下主要的代码:

<record id="res_config_settings_view_form" model="ir.ui.view">

一个view记录是一个ir.ui.view模型的一条数据记录,用户界面的每个组件都以记录的形式存储在数据库中,模块从XML文件加载相应的数据时会向数据库添加UI元素,然后odoo从数据库读取UI元素进行显示。
定义出的视图作用是将模型中的记录数据展示出来。每一种视图类型代表一个可视化模式。可以通过视图类别显示出通用的视图界面,也可以指定对应的记录id访问特定的记录。对于一般的请求,将使用正确且最低优先级的视图,每种类型最低优先级的视图是该类型的默认视图。视图类型隐藏在arch的field标签属性中。 view视图定义在XML文件中,在arch字段中必须定义 type="xml"属性。

<field name="name">res.config.settings.view.form.inherit.aliyundrive</field>

field name属性值为name表示页面的名称

<field name="model">res.config.settings</field>

field name属性值为model表示页面的名称,表示该视图关联的模型,对应到数据库就是数据库中的某张表,模型中放的字段就是对应到数据库表中的字段。

<field name="inherit_id" ref="base_setup.res_config_settings_view_form"/>

field name属性值为inherit_id表示通过继承的方式来改写已经存在的view,ref指向要改写的view。

<field name="arch" type="xml">

field name属性值为arch表示视图布局的描述,采用的是xml来展现视图
该字段中的属性值关联的是模型中的字段,体现在页面中就是需要填写的表单内容。

<xpath expr="//div[@name='integration']" position="inside">

在arch里用xpath定位改写的元素,找到名为integration的div,在内部结尾插入代码。

  • 注意找到的元素必须是一个,如果定位出多个元素或者是空,都会报错。
  • expr Xpath表达式用来选择父视图中的某个元素,如果没找到或找到多个元素会抛出一个异常

position定位有如下选择

  • inside 在内部结尾插入元素
  • replace 替换元素
  • before 在之前插入元素
  • after 在其后插入元素
  • attributes 修改xml的属性

接下来就是一些CSS代码,这里不再赘述。
在这里插入图片描述
​演示:

https://demo.tderp.com

用户名:admin
密码:admin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

r_nznf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值