跳至内容
菜单
此问题已终结
2 回复
9303 查看

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 ?

形象
丢弃
编写者 最佳答案

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.

形象
丢弃

Good answer

最佳答案

Hi 

In fact the correct code is

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

形象
丢弃
相关帖文 回复 查看 活动
2
12月 19
4326
2
9月 21
6243
2
9月 21
7116
0
10月 16
3755
6
1月 25
118721