odoo视图继承

简介继承

  • 在odoo里可以通过继承的方式来改写已经存在的view

  • 对比view的定义视图定义中写法多了inherit_id

  • inherit_id指向要改写的view

      <field name="inherit_id" ref="id_category_list"/>

在arch里用xpath定位改写的元素

<!-- 改写 ibuilding list 列表视图 -->
<record id="building_list_view" model="ir.ui.view">
<field name="name">building.list.view</field>
<field name="model">ibuilding.list</field>
<field name="inherit_id" ref="building_list"/>
<field name="arch" type="xml">
<!-- 找到ids字段,在其后添加idea_id字段 -->
<xpath expr="//field[@name='ids']" position="after">
<field name="idea_id" string="Number of ideas"/>
</xpath>
<!-- 找到 upload 字段,在其后添加idea_ids字段 -->
<xpath expr="//field[@name='upload']" position="replace">
<field name="download" string="下载一个文件"/>
</xpath>
</field>
</record>
  • 注意找到的元素必须是一个,如果定位出多个元素或者是空,都会报错。

  • expr Xpath表达式用来选择父视图中的某个元素,如果没找到或找到多个元素会抛出一个异常

position定位有如下选择

  • inside 在内部结尾插入元素

  • replace 替换元素

  • before 在之前插入元素

  • after 在其后插入元素

  • attributes 修改xml的属性

当仅匹配一个field时,erpr表达式可以简化如下

<xpath expr="//field[@name='upload']" position="replace">
<field name="download" />
</xpath> <field name="upload" position="replace">
<field name="download" />
</field>

odoo视图继承的更多相关文章

  1. odoo开发笔记 -- 搜索视图继承扩展

    odoo开发笔记 -- 搜索视图继承扩展

  2. Odoo中的模型继承、视图继承、Qweb模板继承详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826114.html 在实际开发过程中,经常会遇到需要修改Odoo原生逻辑的情况.然而,直接修改Odoo底 ...

  3. (04)odoo视图操作

    -----------------更新时间19:04 2016-09-29 星期四11:17 2016-09-18 星期日18:13 2016-04-05 星期二15:05 2016-03-14 星期 ...

  4. CI框架视图继承

    CI(CodeIgniter)框架 视图继承 这个代码不是我撸的 ... 当时在哪儿找的忘了 ... 如果有侵权什么的 ... 联系我删了 ... 需要去core里面创建一个MY_loader.php ...

  5. Odoo视图的共有标签

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826405.html 1)name (必选) 通过name值,查找标签 2)model 与view相关联的 ...

  6. odoo 中X2many类型的视图继承

    我们知道视图的继承可以使用inherit_id,但是对于诸如one2many类型的字段,如何利用xpath继承修改其视图呢? 问题:如果直接写one2many类型的字段,会报不存在该字段的错误: 原视 ...

  7. odoo开发笔记 -- 视图继承扩展

    参考: http://www.jeffzhang.cn/Odoo-Notes-2/ http://blog.csdn.net/zhangfeng1133/article/details/4693517 ...

  8. odoo 模型继承

    在odoo中有两种模型的继承机制(传统方式和委托继承方式) 重点:在__manifest__.py中找到depends,加上要继承的模块 'depends': ['account'] 注意继承的模型所 ...

  9. odoo controller 继承

    方式一: 继承基类,直接重写方法 from odoo.addons.web.controllers.main import Export class PsExport(Export): @http.r ...

随机推荐

  1. git 中断 merge

    git 版本 >= 1.6.1 git reset --merge git 版本 >= 1.7.4 git merge --abort

  2. C++11 & C++14 & C++17新特性

    C++11:C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto.decltype,和模板的大量改进. 新的关键字 auto C++11中引入auto第一种作用是为了自动类型推导 ...

  3. 改变 小程序 select 多选框 选中图片

    https://www.jianshu.com/p/11eb5b0bfe1a 注意 博客介绍的  在 wxss  backgroung-image 中引入小程序内图片是不可的,传到cdn上才实现

  4. arcgis计算邻接矩阵

    求邻接矩阵 教程链接   http://m.blog.csdn.net/wan_yanyan528/article/details/49175673 (1) 将目标shp文件导出一份副本备用(以省级为 ...

  5. 位运算符和unity Layers

    按位运算符:与(&).非(~).或(|).异或(^).<<(左移).>>(右移).位运算符主要用来对二进制位进行操作. 逻辑运算符:&&.||.!.逻辑 ...

  6. Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction ...

  7. UnicodeDecodeError gbk codec can't decode byte in position illegal multibyte sequence

    UnicodeDecodeError:'gbk' codec can't decode byte in position : illegal multibyte sequence 觉得有用的话,欢迎一 ...

  8. python---补充django中文报错(2),Django3.5出错

    今天是要Django3.5设置项目,结果出现中文报错,虽然之前分析过py2.7的报错原因,但是在py3之后reload不在使用,需要引入: from importlib import reload 但 ...

  9. Java内存模型-锁的内存语义

    一 引言 在说volatile的内存语义时,讲过这样一句话:想要理解透volatile特性有一个很好的方法,就是把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步.所 ...

  10. Linux内核源码分析--内核启动之(2)Image内核启动(汇编部分)(Linux-3.0 ARMv7) 【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-4938389.html 在完成了zImage自解压之后,就跳转到了解压后的内核(也就是vmlinux的bin ...