Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
652 Widoki

Hello everyone, I'm trying to place an image on my Dymo labels, through a view I created in the Odoo interface. For now, only the text and quantities are working, but I can't load the images. Could you please guide me on how to do this?


<t t-name="technical_reports.report_label_product_38x25_document">
    <t t-set="pricelist_rud" t-value="env['product.pricelist'].search([('name','=','RUD')], limit=1)"/>
    <t t-set="pricelist_rewards" t-value="env['product.pricelist'].search([('name','=','Rewards')], limit=1)"/>

    <t t-foreach="docs" t-as="product">
        <div class="label-container" style="width: 38mm; height: 25mm; overflow: hidden; font-family: Arial, sans-serif; font-size: 4pt; color: black; background-color: white; padding: 0.7mm; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; page-break-inside: avoid;">

            <!-- Logo -->
            <div style="text-align: center; height: 4mm;">
                <img t-att-src="'/web/image/ir.attachment/61005'" style="max-height: 100%; max-width: 80%; object-fit: contain;" alt="Logo Mascotier"/>
            </div>

            <!-- Línea divisora -->
            <div style="width: 100%; height: 1px; background-color: #000000; margin: 1mm 0;"/>

            <!-- Nombre del Producto -->
            <div style="text-align: center; font-size: 5pt; line-height: 1.3; max-height: 6.6mm; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 0.4mm;">
                <span t-field="product.name"/>
            </div>

            <!-- Línea divisora -->
            <div style="width: 100%; height: 1px; background-color: #000000; margin: 1mm 0;"/>

            <!-- Precios -->
            <div style="width: 100%; margin-top: 0.5mm;">
                <table style="width: 100%; border-collapse: collapse; font-size: 4.5pt;">
                    <tr>
                        <td style="text-align: center; width: 50%;">
                            <div>Precio Regular</div>
                            <div style="font-size: 6pt;">
                                <t t-if="pricelist_rud">
                                    <span t-esc="'$ %.2f' % pricelist_rud._get_product_price(product, 1.0, product.currency_id)"/>
                                </t>
                                <t t-else="">N/A</t>
                            </div>
                        </td>
                        <td style="text-align: center; width: 50%;">
                            <div>Precio Socio</div>
                            <div style="font-size: 6pt; font-weight: bold;">
                                <t t-if="pricelist_rewards">
                                    <span t-esc="'$ %.2f' % pricelist_rewards._get_product_price(product, 1.0, product.currency_id)"/>
                                </t>
                                <t t-else="">N/A</t>
                            </div>
                        </td>
                    </tr>
                </table>
            </div>

            <!-- Contacto -->
            <div style="text-align: right; font-size: 4.5pt; height: 3.5mm; display: flex; justify-content: flex-end; align-items: center;">
                <span>55-7943-4342</span>
            </div>
        </div>
    </t>
</t>
Awatar
Odrzuć
Autor

Thanks a lot

Najlepsza odpowiedź

The path to your img resource should be 

/web/image/61005 

rather then 

/web/image/ir.attachment/61005


Otherwise you'll just get the default placeholder, which would be



There is also a chance that the rendering process does not actually have access to the ir.attachment resource. In that case you can try and make it a public resource. Due to the fact the alt tag is given as  'Logo ...' it should be fair to assume that this image may as well be visible to someone without a login.

To set the resource public, enable the Developer mode, then go to Settings -> Technical --> Database Structure -> Attachments. Find your ir.attachment in there and set Is public document to 'true':


Also, ensure https://example.com/web/image/61005 actually returns the image you expect. Else, the ID is probably just wrong.

Awatar
Odrzuć