Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
14428 Zobrazení

I'd like to change the layout used by some of the default Odoo's report templates. So for example, the next code could be the first lines of the Stock Picking report:

<?xml version="1.0" encoding="utf-8" ?>

<odoo>
<data>
<template id="report_picking">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="web.external_layout">

But I'd like to change the t-call to 

<t t-call="web.internal_layout">

But if do so, I will have to copy all the content of the template inside my new t-call="web.internal_layout" ...

What I've currently done, is this here:

<?xml version="1.0" encoding="utf-8" ?>

<odoo>
<data>
<template id="stock.report_picking">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-call="web.internal_layout">

Overriding the original template, but this approach doesn't look a really solution, so I'm not following the inheritance flow (inherit_id), and here below is what I'd like hypothetically to do, but seems to be imposible to reach and alter the t t-call tag:

<?xml version="1.0" encoding="utf-8" ?>

<odoo>
<data>
<template id="my_new_picking_template" inherit_id="stock.report_picking">
<xpath expr="//t/t/t" position="attributes">
<attribute name="t-call">web.internal_layout</attribute>
</xpath>

Is something like this or something similar possible? :)

Avatar
Zrušit
Nejlepší odpověď

Hello,

You can also use the xpath like this:

        <xpath expr="//t[@t-call='web.external_layout']" position="attributes">
            <attribute name="t-call">web.internal_layout</attribute>
        </xpath>

Hope it will work for you.

Thanks,

Avatar
Zrušit
Autor

OOh!, I don't know how I didn't see that before, thanks :), I was trying to 'replace' that tag but that was a bad idea.

Related Posts Odpovědi Zobrazení Aktivita
1
úno 22
1928
0
čvc 20
1987
0
bře 15
2845
2
led 24
4646
3
bře 15
5656