- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
刚刚为客户启动 Odoo,我在模板方面遇到了重大问题。
一个简单的模板,有一些 div 和标题。我也有一个记录让它显示在主菜单中。
当我第一次创建它时,一切正常。但是,如果我想添加或更改一些 html,这些更改不会显示在网站页面上(即使在我刷新/升级主题之后)。网站构建器允许我更改文本等,但这不是我需要的。我希望能够从 XML 更改 html 结构。但是,一旦页面第一次创建......我就不允许这样做。该页面将仅显示最初创建的页面。
希望内容清楚,并提前感谢您的帮助。
乔
最佳答案
版本:Odoo nightly 10.0-20170427
每次您使用网站构建器(添加片段、更改文本等)并保存时,Odoo 数据库中的数据记录都会被修改(显然 - 否则您的更改将不会持久)。
在此过程中,模板记录的“ir_model_data”表中“noupdate”字段的值从false设置为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 中有一些拼写错误,所以我转到编辑器,修复了它们,升级了模块,并且 - 与预期不同 - 我的 View 没有得到修改。
由于我对 Odoo 还很陌生,还没有真正深入了解 Odoo 在后端的工作原理,而且我在 google 上找不到任何好的东西,所以我开始分析升级过程中数据库会发生什么情况,如下所示以及使用网站构建器。我发现,虽然仅使用升级来上传我的更改,但只有表“ir_ui_view”的字段“arch_db”被更改为相关记录。但是,通过使用网站构建器,不仅模板内容被写入“ir_ui_view”,而且表“ir_model_data”中相关记录的字段“noupdate”也被更改 - 它被设置为false为真实(数据库可能发生了更多更改,但提到的都是与问题相关的更改)。
为了解决升级问题,我只需将“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 中。
关于当 xml 更改时,Odoo 模板页面不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081580/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我想,如果我单击按钮,删除数据并返回 TreeView 。我可以使用 unlink 方法删除数据。但我不能重定向到 TreeView 。我该怎么做? 这是我的代码: def action_de
我最近安装了 Odoo 9.0。但是,我需要一个仅适用于 Odoo 8.0 的模块。 我想知道是否可以对此模块进行微小的更改以使其兼容 Odoo 9.0?新模块只是一个日历,仅使用 Web 界面:Li
嗨,我很难确定人类的权限Odoo10 的资源模块涉及休假管理工作流程。 我在休假类型中激活了双重验证。假设我有一个部门,拥有以下员工: Manager01 (Manager of the Depart
我正在尝试将 odoo 安装从 8.0 升级到 9.0。到目前为止,我所做的如下: 从生产系统备份 odoo 数据库 在我当前的系统中安装了备份数据库作为测试 复制了我系统文件夹中的 odoo 文件夹
如何在 odoo 8.0 (OpenERP) 上删除“Powered by Odoo”? 最佳答案 首先转到您的 Odoo Web 模块并打开以下文件。 addons => web => views
我开发了一个同时支持 odoo 10 和 odoo 11 的应用程序,我想在一个部署下部署这个应用程序。意思是如果我访问我的 odoo 应用程序,我应该看到一个应用程序而不是两个应用程序,当我从下拉列
我已经按照教程安装了 odoo+postgres当我尝试在我的 linux 终端中运行 ./odoo-bin 命令时,我得到了这个错误: 2019-09-15 08:48:30,765 5126 ER
我按照教程在 Odoo 8 中创建了一个模块。我在用户中激活了技术功能,然后更新了模块列表,但它没有出现在列表中。 我该怎么办? 最佳答案 跟踪以下内容: checkout __init__.py,
我需要将“Powered by Odoo”页脚中的“Powered”更改为“Made”, 所以我的 Odoo(以前的 OpenERP)版本 8.0-aab3d9f 的页脚将是“Made by Odoo
默认情况下,当我在 odoo 中创建新数据库时,表是在公共(public)模式中创建的。有没有办法更改此配置以及 odoo 创建和使用另一个定义的方案? 最佳答案 没有办法做到这一点,odoo 默认使
我正在尝试使用与 Django 相同的功能: 在 Odoo 中,我有: 如果“c.id = cat_id”,我需要附加“active”类 它是如何在 Odoo 中完成的? 我正在使用:
我已经发送了一些电子邮件营销事件,在“群发邮件”中,我有“电子邮件”按钮的详细信息。当我点击它时,我有“邮件 ID(技术)”、“消息 ID”、“已发送”等列。但是我看不到我发送的电子邮件。 我怎么能看
在 Odoo 中创建发票时,我想过滤“客户”的可用合作伙伴选择。具体来说,我想将合作伙伴联系记录限制为“发票地址”类型的记录,即 res_partner 上的域。的 [('type','=','inv
我是 ODOO 新手,正在寻找捕获 的方法考勤模块中的地理位置 ODOO 的。需要同时记录入住和退房地点 最佳答案 检查此模块,它捕获地理位置:https://odoo-community.org/s
Odoo 中的 Product Master 需要两个不同的表是什么? product.product 和 product.template 有何不同? 最佳答案 由于产品变体,Odoo 有两种产品模
在V11企业版中,部分机型有存档功能,但公司没有。如果我有多家公司,但有一家公司已经停业,我如何禁用或存档该公司,使其不会出现在所有模块中,甚至管理员也无法将其分配给任何用户?似乎一旦创建了公司,即使
是否有一种简单的方法将 OpenERP (oodo) 中的新自定义字段(在客户记录或订单项目中)与外部链接(即描述或 iframe)关联起来,以便它可以链接到不同的系统? 创建记录时,是否有一种简单的
我在odoo社区版中更改了我的公司数据,但它从未反射(reflect)出来,即使我在浏览器缓存中进行了更改。请帮忙enter image description here ODoo 最佳答案 你有两个
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 6 年前。 Improve th
我是一名优秀的程序员,十分优秀!