无法继承Odoo主题模板

问题描述

我有一个称为 theme_test 的基本主题。 这是模板代码(此模板已添加到清单的数据中)。

<template id="product_catg_test" name="Product Category">
    <t t-if="categories">
        <code for print category>
    </t>
</template>

因此,我创建了一个扩展模块,称为 test_theme_extended ,并尝试了两种继承方法来替换 t-if 条件

  1. 第一种方法(我将此文件添加到了清单中的数据中)
<template id="product_catg_test_extended" inherit_id="theme_test.product_catg_test" name="Test">
    <xpath expr="//t[@t-if='categories']" position="replace">
      
    </xpath>
</template>

第一种方法给我一个错误

odoo.tools.convert.ParseError: "Element '<xpath expr="//t[@t-if='categories']">' cannot be located in parent view
  1. 第二种方法(我在清单的QWEB中添加了此文件)
<t t-extend="theme_test.product_catg_test">
    <t t-jquery="t[t-if='categories']" t-operation="replace"/>
</t>

这也不起作用。

我认为主视图是根据主题创建的,并且没有外部ID,这就是我遇到此问题的原因。但是如何继承扩展模块中的基本主题视图?

我们将不胜感激。

解决方法

目前我正在努力解决完全相同的问题。到目前为止,在调试负责查找的代码时,我想知道为什么父视图的内容与 xml 显示的不一样。

长话短说:主题模块中的模板存储为ir.ui.view,而是theme.ir.ui.view >.该代码将使用错误的 ID 进行查找,因为它期望一个常规视图 - 要么找到错误的常规视图,要么什么也没找到。

不幸的是,我没有找到任何修改 theme.ir.ui.view 的解决方案 - 如果有人有解决方案,我将非常感谢她/他与我们分享。

似乎修改主题的唯一方法是编辑原始 xml 文件。

更新:

我尝试使用不同的方法,例如继承表单视图 (

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...