当 xml 更改时,Odoo 模板页面不会更新

2024-01-23

刚刚为客户启动 Odoo,我在模板方面遇到了一个重大问题。

一个简单的模板,有一些 div 和标题。 我还有一个记录可以在主菜单中显示。

当我第一次创建它时,一切正常。 但是,如果我想添加或更改一些 html,这些更改不会显示在网站页面上(即使在我刷新/升级主题之后)。 网站构建器允许我更改文本等,但这不是我需要的。我希望能够从 XML 更改 html 结构。但是,一旦页面第一次创建......我就不允许这样做。该页面将仅显示最初创建的页面。

希望它是清楚的,并提前感谢您的帮助。

Joe


版本:Odoo 每晚 10.0-20170427

tl;dr

每次您使用网站构建器(添加片段、更改文本等)并保存时,Odoo 数据库中的数据记录都会被修改(显然 - 否则您的更改将不会持久)。

在此过程中,表“ir_model_data”中字段“noupdate”的值设置为false to true用于记录您的模板。只要将“noupdate”设置为true该模板的记录不会因模块上的升级操作而更改。

为了能够更改它,您必须将“noupdate”设置回false所以在升级过程中数据库中的模板将会被你的xml修改内容覆盖。请检查我的答案底部的警告!

我的类似问题

我遇到了类似的问题。像您一样,我创建了一个带有一些 html 标签的简单模块/模板,将其添加到 main_menu 并安装了该模块。一切都按预期进行(菜单链接可见并且显示了我的所有内容)。

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <!-- === Page template === -->
    <template name="tpl-imprint" id="website.imprint" page="True">
        <t t-call="website.layout">
            <div id="wrap">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12">
                            <h1>some Header</h1>
                            <p>some text</p>
                        </div>
                    </div>
                    <!-- === Snippets' area === -->
                    <div class="row">
                        <div class="oe_structure" />
                    </div>
                </div>
            </div>
        </t>
    </template>
    <!-- === Menu item === -->
    <record id="menu_imprint" model="website.menu">
        <field name="name">Imprint</field>
        <field name="url">/page/imprint</field>
        <field name="parent_id" ref="website.main_menu" />
        <field name="sequence" type="int">100</field>
        <field name="website_id" type="int">1</field>
    </record>
</odoo>

之后,我进一步修改了 xml 文件,添加了一些文本等,升级了模块,一切都按预期工作。 然后我在自己创建的页面上使用网站构建器进行了一些实验,添加了一些片段并保存。 然后我意识到我的 xml 中有一些拼写错误,所以我转到编辑器,修复了它们,升级了模块,并且 - 与预期不同 - 我的视图没有得到修改。

由于我对 Odoo 相当陌生,还没有真正深入了解 Odoo 在后端如何工作,而且我在 google 上找不到任何好的东西,所以我开始分析升级过程中数据库发生的情况以及通过使用网站构建器。我发现,虽然仅使用升级来上传我的更改,但只有表“ir_ui_view”的字段“arch_db”被更改为相关记录。但是,通过使用网站构建器,不仅模板内容被写入“ir_ui_view”,而且表“ir_model_data”中相关记录的字段“noupdate”也被更改 - 它是从false to true(数据库可能发生了更多更改,但提到的都是与问题相关的更改)。

如何使升级过程再次运行

为了解决升级问题,我简单地将“noupdate”的值改回为true升级过程再次起作用。 (每次将网站构建器与自定义模板之一一起使用时,您都必须执行此操作 - 至少如果您想再次通过 xml 对模板进行更改)。

在手动更改数据库之前先对其进行备份!(我已经在我的数据库中测试/使用了这些 sql 行,但仍然没有保证;))

在“ir_ui_view”中查找模板的model_data_id

select
    model_data_id
from
    ir_ui_view
where
    name = '<the name of your template - in my case tpl-imprint>';

使用该 ID 查找/更新表“ir_ui_data”中的相关记录

update
    ir_model_data
set
    noupdate = true
where
    id = <the ID you got with the first query>

完毕!尝试升级您的模块。您对 xml 的更改现在应该存储在数据库中。


您还可以一步更改该值

update
    ir_model_data
set
    noupdate = false
where
    id in(
        select
            model_data_id
        from
            ir_ui_view
        where
            name = '<the name of your template - in my case tpl-imprint>'
    );

!!!警告 !!!!

如果您将“noupdate”设置为 false,则您使用网站构建器所做的所有更改都将在升级过程中丢失。如果您想保留它们,您必须将修改复制粘贴到 xml 中的模板中!为此,请转到要从中获取内容的页面上的“自定义/HTML 编辑器”,然后将要保留的部分复制粘贴到 xml 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 xml 更改时,Odoo 模板页面不会更新 的相关文章

  • Python 中以下代码有什么问题?

    我试图对一个字段实施约束 但它不会导致约束验证 而是允许保存记录而不显示任何约束消息 def check contact number self cr uid ids context None for rec in self browse
  • Odoo10 - 如何执行 JavaScript

    我一定做了一些完全错误的事情 odoo define my module popups function require use strict var ajax require web ajax var core require web c
  • 类型错误:create() 获得关键字参数“上下文”的多个值

    我收到这样的错误 类型错误 create 为关键字参数 context 获取了多个值 这是代码 mov id self create cr uid ids so ids so product ids product context cont
  • 显示额外空字段的树视图

    我创建了一个自定义模块 在我的树视图中 我将始终只有 1 行数据 但在我的树视图中 它显示了额外的空行 如何删除那些不需要的空行 我的查看代码
  • 字典更新序列元素#0的长度为3; 2 为必填项

    我想向对象添加线条account bank statement line通过其他对象但我收到以下错误 字典更新序列元素 0 的长度为 3 需要 2 这是我的代码 def action account line create self cr
  • 如何手动卸载openerp模块

    我在 openerp v7 上安装了一个模块 我想卸载它 使用界面失败 我在卸载过程中收到错误 是否有 手动 方式来卸载模块 删除下面的模块文件夹就足够了吗addons 还是还有其他事情要做 以最干净的方式做到这一点 这是当我尝试通过界面卸
  • 如何将外部 jQuery 插件添加到 Odoo 上的列表视图?

    我正在使用 Odoo 10e 我想将 jquery 插件集成到我的模块中 我想集成 jQuery 插件jquery 可调整大小的列 https github com dobtco jquery resizable columns 它很简单
  • 如何修复错误:命令“x86_64-linux-gnu-gcc”失败,退出状态为 1

    我正在尝试在 VirtualBox 机器上全新安装的 Linux 上安装 odoo 我已按原样输入此处找到的命令 Odoo 开发阅读文档 http odoo development readthedocs org en latest ins
  • 多对多关系过滤器

    我需要使用与另一个表具有多对多关系的类别表来过滤查询 是否可以使用多对多关系过滤查询 Table res partner有many2many字段category id与表有关的res partner category res partner
  • 在 Odoo 中创建新组

    我创建了一个新组 它是一个人员组 但是在查看元数据中 我创建的新组没有 XML ID 我在哪里可以找到 XML ID 或添加新组的 XML ID 即使在外部 ID 中也是如此菜单 我找不到 ID 如何创建或编辑自定义组 打开设置 gt 用户
  • 在弹出窗口中显示要删除的项目

    我正在使用 Odoo 10e 我想要一个简单的功能 每当我想从列表视图或仅从特定列表视图中删除一个或多个项目时 我想显示所有选择删除的项目 以在弹出窗口中显示其名称 以便用户可以快速查看他要删除的内容 我知道用户可以在列表视图中查看详细信息
  • openerp中的父左和父右

    什么是父左和父右 它是如何运作的Openerp Thanks 正如拉斐尔 科莱 Raphael Collet 所解释的那样他关于 OpenERP Server 的回答 https answers launchpad net openobje
  • 元素 xpath 无法位于父视图中

    我需要自定义从销售模块中打印的字段 因此我创建了一个新模块并安装了它 我已经创建了一个 XML 文件 但出现以下错误 odoo tools convert ParseError Error while validating constrai
  • 如何在 Odoo 12 中使用 Python XML-RPC 注册付款

    首先我创建了这个函数 def invoiceRegisterPayment self register payment row confirm result self ODOO OBJECT execute kw self DATA sel
  • Odoo 14:在树视图中添加部分功能

    I need add a section functionality like sales gt quotation view has in one of my tree views 我的代码view是这样的
  • Odoo 服务器无法在 Windows 10 中启动

    我在其官方社区版本页面上下载并安装了 odoo 13 然后当我安装一切正常并启动 odoo 时 浏览器会打开 localhost 8069 即 odoo 端口 并且不会打开任何内容 服务器只是不打开开始 我运行 odoo bin 这是我的错
  • 导入错误:没有名为 psycopg2 的模块

    在 OpenERP 6 的安装过程中 我想使用以下命令生成一个配置文件 cd home openerp openerp server bin openerp server py s stop after init c home opener
  • 如何将OpenERP 5.0升级到6.0

    我安装了 OpenERP 5 0 其中包含一些自定义模块 我希望将其升级到 OpenERP 6 0 我对这种软件有一些经验 并且检查过OpenERP 遗憾的是 我没有 OpenERP 的实际经验 我喜欢寻求一些帮助以避免错误 在研究这个问题
  • 出现错误 /usr/bin/env: 节点:权限被拒绝

    我已经在我的服务器 Centos 上完成了 ODOO v9 安装 一切都已安装成功 登录页面也可以正常工作 但登录后我收到一个包含以下错误的页面 usr bin env node Permission Denied 我尝试更改权限 但我的问
  • 无法在 odoo 10 Windows 中执行命令 lessc

    我想问一下在windows上安装odoo 10的问题 我有这样的错误 无法执行命令 lessc 我在另一篇文章中看到过这个问题 但他们的文章只是讨论 mac 和 ubuntu 服务器 而不是在 Windows 中 任何人都可以帮我解决这个

随机推荐

  • 使用相同的内部表示和最少的样板处理多种类型?

    我发现自己在用 Haskell 编写大型程序时经常遇到一个问题 我发现自己经常想要多个不同的类型共享内部表示和几个核心操作 有两种相对明显的方法可以解决这个问题 一种是使用类型类 GeneralizedNewtypeDeriving扩大 将
  • SOAP 和 HTTP 协议的区别?

    SOAP 和 HTTP 协议有什么区别 当我们说 SOAP over HTTP 时 这是什么意思 您可以通过 HTTP 提供任何内容 例如 HTML 图像 声音 视频等 SOAP 是一种基于 XML 的消息编码 通常通过 HTTP 发送 但
  • 如何将比其父元素宽的元素居中?

    我目前有一个固定宽度为 900px 的 div 我想添加一个固定宽度为 950px 的子 iframe 并且我希望它与中心完美对齐 那怎么办呢 Thanks 您可以将子项放置在 50 处 然后使用负边距 即子项宽度的一半 parent po
  • 检查 php 脚本是否仍在运行

    我有一个脚本可以监听 jabber 服务器并做出相应的响应 虽然它不应该停止 但昨晚它却停止了 现在我想每分钟运行一个 cron 作业来检查脚本是否正在运行 如果没有运行则启动它 问题是 如何检查特定脚本是否仍在运行 一些解决方案已经发布h
  • C# 替换 docx 中的文本字符串

    使用 C 有没有一种好方法可以在 docx 文件中查找和替换文本字符串 而无需在该计算机上安装 word 是的 使用Open XML http openxmldeveloper org default aspx 这是一篇解决您的具体问题的文
  • 以 table.column 格式返回 Oracle 列名?

    是否有任何设置或方法可以用来让 Oracle 返回结果 table table
  • 如何使用Vite从公共目录导入JSON文件?

    我有一个 Vue3 Vite 项目 其中一些数据必须从外部 JSON file 但是当我构建项目时 JSON 文件被捆绑 我需要将 JSON 文件保留在外部 我尝试过的 第一次尝试vite config ts export default
  • 从高级编辑器更改数据类型与数据转换

    我正在使用 SSIS 创建一些包 我对周围感到困惑数据转换变换组件并从高级编辑器更改列数据类型 如果我可以进入高级编辑器并更改输出的数据类型 为什么我需要输入数据转换 这只是取决于偏好还是使用两种方法之间有区别吗 在展示两种方法之间的差异之
  • 附加文件时的 Rails ActiveStorage 范围

    使用 ActiveStorage 时 如何创建附加文件的范围 例如 class Check lt ActiveRecord Base has one attached image end 我想要类似的东西Check has attached
  • angularJS element.on 回调和作用域.$apply

    在此示例中 我有一个带有附加指令的输入 该指令旨在在输入旁边显示消息 还有另一个输入和一个用于添加消息的按钮 显示一些消息后 关注带有附加指令的输入应该会清除消息 http jsfiddle net viro WBqxf http jsfi
  • 使用 PHP 创建目录中所有类的实例

    我有一个包含多个 PHP 文件的目录 这些文件由与文件同名的类组成 Sample php的班级将被称为Sample 每个类都有一个名为的函数OnCall 如何在我的目录中创建每个类的实例并执行它们的所有OnCall s 我无法手动完成 sa
  • 为什么 ASP.NET Core 本地化不起作用

    我创建了一个空项目 启动 cs public void ConfigureServices IServiceCollection services services AddLocalization s gt s ResourcesPath
  • 如何向 MKPointAnnotation 添加按钮?

    我刚刚在尝试向注释点添加详细信息按钮时陷入困境 不幸的是我不知道该怎么做 有人可以帮我吗 The image below presents what I d like to achieve Thanks MapKit 视图控制器 impor
  • 重构复杂的嵌套数组

    我有一个像这样的数组 var my array 2 9 10 5 10 11 4 11 9 1 19 2 41 10 7 17 3 0 11 4 18 5 中的数组my array包括另外两个数组 第一个数组不是必需的 但看看第二个 mya
  • 在 prolog 中生成从 N 到 1 的数字列表

    我正在尝试生成从 N 到 1 的数字列表 而不使用任何内置谓词 例如 findall 或 numlist 我究竟做错了什么 pred N H T H is N N1 is N 1 pred N1 T pred 1 我不断收到错误 超出全局堆
  • 重载决策中是否实际选择了纯虚函数?

    来自我在上一个问题中的评论 由于不能存在抽象类的实例 因此在重载解析后永远无法选择纯虚函数 明显的反应是 abstract class a new derived class a gt pure virtual function 以及正确性
  • EditText - 文本和 EditText 行之间的间隙

    When I insert text to my EditText field the text has an abnormal gap between itself and the EditText s line Here s a pri
  • Java XPath(Apache JAXP 实现)性能

    注意 如果您也遇到此问题 请在 Apache JIRA 上投票 https issues apache org jira browse XALANJ 2540 https issues apache org jira browse XALA
  • 如何将 Android 应用本地化为印度尼西亚语

    我需要将我的应用程序本地化为印度尼西亚语言 我的应用程序的资源文件夹包含每种语言的 values 子文件夹列表 例如 values fr 文件夹 但我读到了令人困惑的信息Android 开发者文档 http developer androi
  • 当 xml 更改时,Odoo 模板页面不会更新

    刚刚为客户启动 Odoo 我在模板方面遇到了一个重大问题 一个简单的模板 有一些 div 和标题 我还有一个记录可以在主菜单中显示 当我第一次创建它时 一切正常 但是 如果我想添加或更改一些 html 这些更改不会显示在网站页面上 即使在我