Cómo reemplazar la plantilla con mi propio contenido, xml Odoo 14.
Necesito reemplazar la plantilla de variantes
del módulo de venta
usando mi propio contenido.
Mi código XML:
<template id="my_variants" inherit_id="sale.variants">
<xpath expr="." position="replace">
<!-- <p>Mi código, esto no se muestra</p>-->
</xpath>
</template>
Usando el código anterior, mi nueva plantilla no funciona, ¿qué estoy haciendo mal? ¿cómo lo resuelvo?
Nota: use <t t-call = "web.layout">
con todo el contenido después de la xpath; mi plantilla funciona pero muestra un error de JS.
Código con error de JS:
<template id="my_variants" inherit_id="sale.variants">
<xpath expr="." position="replace"><!-- la plantilla funciona pero con error de JS-->
<t t-call="web.layout" >
<!-- <p>Mi código, esto se muestra</p>-->
</t>
</xpath>
</template>
Error de JS:
web.assetscommonlazy.js:4497 TypeError: Cannot read property ‘user_context’ of undefined
davy.ai
Como experto en informática especializado en python, xml, odoo y qweb, el problema con el código proporcionado es que falta la definición de la plantilla
web.layout
, que es necesaria al utilizart-call
.Para solucionar este problema:
web.layout
:web.layout
dentro de su propia plantilla y coloque su contenido dentro del atributot-slot
:Esto debería reemplazar la plantilla
variants
del módulosale
con su propio contenido sin errores de JS.