Pim-community-dev: Kesalahan dalam ekspor pdf produk dari halaman pengayaan

Dibuat pada 16 Jun 2020  ·  6Komentar  ·  Sumber: akeneo/pim-community-dev

:bug: Saya melaporkan Bug :bug:

Versi Akeneo: CE 4.0.31

Saat mengunduh pdf dari halaman pengayaan produk, ia menuju ke url di bawah ini dan menunjukkan kesalahan: http://<pimhost>/enrich/product/1018/download-pdf?dataLocale=en_US&dataScope=ecommerce

Impossible to invoke a method ("__toString") on a string variable ("Some value")
in vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Resources/views/Product/renderPdf.html.twig (line 118)

Itu terjadi karena untuk pim_catalog_simpleselect dan pim_catalog_multiselect ketik content sudah dikonversi ke string di baris ini 114 :
{% set content = optionLabels[attribute.code] %}

Masalah terkait lainnya pada halaman yang sama ada di baris 110 :
Untuk tipe pim_catalog_image content adalah turunan dari Akeneo\Pim\Enrichment\Component\Product\Value\MediaValue yang memiliki properti data tetapi bukan properti media . Tetapi baris itu menggunakan content.media yang menyebabkan kesalahan.

Komentar yang paling membantu

Maaf tidak merespon lebih awal.

Saya telah memeriksanya dan membuka PR tentangnya: https://github.com/akeneo/pim-community-dev/pull/12496
Harus segera digabung di 4.0.x.

Semua 6 komentar

Perbedaan berikut mungkin memperbaiki masalah untuk saat ini

diff --git a/src/Akeneo/Pim/Enrichment/Bundle/Resources/views/Product/renderPdf.html.twig b/src/Akeneo/Pim/Enrichment/Bundle/Resources/views/Product/renderPdf.html.twig
index 3730bea3c2b..7576ad0ef82 100644
--- a/src/Akeneo/Pim/Enrichment/Bundle/Resources/views/Product/renderPdf.html.twig
+++ b/src/Akeneo/Pim/Enrichment/Bundle/Resources/views/Product/renderPdf.html.twig
@@ -107,11 +107,12 @@
                                 {% set content = product.getValue(attribute.code, locale_attribute, channel_attribute) %}
                                 {% set manualHeight = true %}

-                                {% if 'pim_catalog_image' == attribute.type and content.media is not null %}
-                                    {% set content = content.media.originalFilename %}
+                                {% if 'pim_catalog_image' == attribute.type and content.data is not null %}
+                                    {% set content = content.data.originalFilename %}
                                     {% set manualHeight = false %}
                                 {% elseif ('pim_catalog_simpleselect' == attribute.type or 'pim_catalog_multiselect' == attribute.type) and attribute.code in optionLabels|keys %}
                                     {% set content = optionLabels[attribute.code] %}
+                                    {% set manualHeight = false %}
                                 {% endif %}

                                 {% if content != null and manualHeight == true %}

Halo @adhocore ,
Terima kasih telah membuka masalah ini dengan deskripsi yang tepat.

mengenai masalah pertama Anda dengan __toString , perbaikan cepat harus segera digabungkan di 4.0.x : https://github.com/akeneo/pim-community-dev/pull/12430

Untuk masalah kedua, saya akan mencoba meluangkan waktu untuk memeriksanya secepatnya.

Halo,

apakah Anda punya berita tentang edisi kedua?

Terima kasih banyak 🙏

Cara mengatasinya adalah dengan menggunakan fungsi twig yang ditentukan pada atribut media seperti itu:

{% if 'pim_catalog_image' == attribute.type and content.media is defined and content.media is not null %}

Maaf tidak merespon lebih awal.

Saya telah memeriksanya dan membuka PR tentangnya: https://github.com/akeneo/pim-community-dev/pull/12496
Harus segera digabung di 4.0.x.

Terima kasih banyak 👍

jangan ragu untuk menutup masalah ini jika kami memiliki rilis versi baru akeneo dengan perbaikannya, terima kasih

Apakah halaman ini membantu?
0 / 5 - 0 peringkat