gpt4 book ai didi

odoo-13 - 无法继承Odoo主题模板

转载 作者:行者123 更新时间:2023-12-05 02:05:20 25 4
gpt4 key购买 nike

我有名为 theme_test 的基本主题这是模板代码(这个模板添加在 list 的数据中)。

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

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

  1. 第一种方法(我在 list 的数据中添加了这个文件)
<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 '' cannot be located in parent view

  1. 第二种方法(我在 list 的 QWEB 中添加了这个文件)
<t t-extend="theme_test.product_catg_test">
<t t-jquery="t[t-if='categories']" t-operation="replace"/>
</t>

这也不起作用。

我认为主视图是从主题创建的,它没有外部 ID,这就是我遇到这个问题的原因。但是如何在扩展模块中继承基本主题 View 呢?

最佳答案

如果您要继承一个主题,它必须来自另一个主题,或者使用记录而不是模板。

定义主题,如主题前缀和主题类别 enter image description here

由于模块主题在主题 ir_ui_view 中创建 View 并在 ir_ui_view 中创建没有 XMLID 的副本

普通模块在 ir_ui_view 中创建 View

因此,如果您想从普通模块 (ir_ui_view) 修改 View 主题 (theme_ir_ui_view),那么实际上它不会找到该元素,因为它在另一个表中

但是如果你还想尝试你可以这样继承,继承没有XML的副本所以你必须通过键来继承

<record id="product_catg_test_extended" model="ir.ui.view">
<field name="name">product_catg_test_extended</field>
<field name="inherit_id" search="[('key', '=', 'theme_test.product_catg_test')]"/>
<field name="type">qweb</field>
<field name="key">test_theme_extended.product_catg_test_extended</field>
<field name="arch" type="xml">
<xpath expr="//t[@t-if='categories']" position="replace"></xpath>
</field>
</record>

关于odoo-13 - 无法继承Odoo主题模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63648026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com