This question has been flagged
2 Replies
7594 Views

Hi !

In my website, I declared a field like this

<template id="transporter_image" inherit_id="website_sale.payment">
<xpath expr="//div[@id='delivery_carrier']//input" position="after">
<span itemprop="image" t-field="delivery.partner_id.image"
t-field-options='{"widget": "image"}' style="display: inline-block;"/>
</xpath>
</template>

As Admin, this renders like

<span itemprop="image" style="display: inline-block;" data-oe-id="864"
data-oe-source-id="841" data-oe-xpath="/data/xpath/span"
data-oe-model="ir.ui.view" data-oe-field="arch" data-oe-type="image"
data-oe-expression="delivery.partner_id.image" data-oe-translate="0">
<img class="img img-responsive" src="/website/image/res.partner/6_8994a20/image" style="">
</span>

As an external user, it looks like this:

<span itemprop="image" style="display: inline-block;">
<img class="img img-responsive" src="/website/image/res.partner/6_8994a20/image" style="">
</span>

and thus, the image is not being rendered.


How to solve this ?

Avatar
Discard
Author Best Answer

Workaround that does the job:

<template id="transporter_image" inherit_id="website_sale.payment">
<xpath expr="//div[@id='delivery_carrier']//input" position="after">
<img itemprop="image" class="img img-responsive" style="display: inline-block;"
t-att-src="'data:image/png;base64,' + delivery.partner_id.image"/>
</xpath>
</template>

I will use it until I find a better alternative.

Avatar
Discard

Good answer

Best Answer

Hi 

In fact the correct code is

​t-att-src="'data:image/png;base64,' + str(delivery.partner_id.image)[2:-1]"/>

Avatar
Discard