我想在POS客户视图中添加一个span。我尝试使用此代码,但不起作用。
//customer.xml
<?xml version="1.0" encoding="UTF-8" ?>
<templates id="point_of_sale.template" xml:space="preserve">
<t t-extend="ClientDetailsEdit">
<t t-jquery=".client-details-right" t-operation="append">
<div class="client-detail">
<span class="label">Test</span>
</div>
</t>
</t>
</templates>
//manifest.py
"qweb": [
'static/src/xml/customer.xml',
],
我的代码出了什么问题?请帮忙吗?谢谢
如果我在Odoo插件中查看一个扩展示例,则模板声明如下
<templates id="template" xml:space="preserve">
在你的情况下,你像这个一样声明模板
<templates id="point_of_sale.template" xml:space="preserve">
在您的模块中,当您编写此id="point_of_sale.template"
时,Odoo将覆盖基本模板。但在模板的逻辑中,t名称在所有模块中都必须是唯一的。
如果我遵循这个逻辑,你应该写:
<?xml version="1.0" encoding="UTF-8" ?>
<templates id="template" xml:space="preserve">
<t t-extend="ClientDetailsEdit">
<t t-jquery=".client-details-right" t-operation="append">
<div class="client-detail">
<span class="label">Test</span>
</div>
</t>
</t>
</templates>
在这个解决方案中,您不会覆盖模板point_of_sale.template,但您将创建一个新的模板。它将扩展t-name ClientDetailsEdit
PS:有关更多信息,我查看插件/iap/sttatis/src/xml/iap_template.xml
代码是
<?xml version="1.0" encoding="UTF-8"?>
<template id="template" xml:space="preserve"> <!-- Id is only template -->
<!-- LAYOUT TEMPLATES -->
<div t-name="iap.redirect_to_odoo_credit">
<t t-if="data.body">
<div t-raw="data.body"/>
</t>
<t t-if="!data.body">
<t t-if="data.message">
<span t-esc="data.message"/>
</t>
<t t-if="!data.message">
<span>Insufficient credit to perform this service.</span>
</t>
</t>
</div>
<t t-extend="DashboardMain"> <!-- And extend template here -->
<t t-jquery=".o_web_settings_apps" t-operation="after">
<div class="o_web_settings_iap"></div>
</t>
</t>
<div t-name="iap.buy_more_credits" class="mt-2 row">
<div class="col-sm">
<button class="btn btn-link buy_credits"><i class="fa fa-arrow-right"/> Buy credits</button>
</div>
</div>
</template>