Pim-community-dev: أخطاء في تصدير ملف PDF للمنتج من صفحة الإثراء

تم إنشاؤها على ١٦ يونيو ٢٠٢٠  ·  6تعليقات  ·  مصدر: akeneo/pim-community-dev

: bug: أبلغ عن خطأ: خطأ:

إصدار Akeneo: CE 4.0.31

عند تنزيل ملف pdf من صفحة إثراء المنتج ، ينتقل إلى عنوان url أدناه ويظهر الخطأ: 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)

يحدث هذا بسبب تحويل pim_catalog_simpleselect و pim_catalog_multiselect type content بالفعل إلى سلسلة في هذا السطر 114 :
{% set content = optionLabels[attribute.code] %}

توجد مشكلة أخرى ذات صلة في نفس الصفحة في السطر 110 :
بالنسبة للنوع pim_catalog_image ، فإن content هو مثيل Akeneo\Pim\Enrichment\Component\Product\Value\MediaValue الذي يحتوي على خاصية data ولكن ليس media . لكن هذا الخط يستخدم content.media يسبب خطأ.

التعليق الأكثر فائدة

آسف لعدم الرد في وقت سابق.

لقد بحثت فيه وفتحت علاقات عامة حوله: https://github.com/akeneo/pim-community-dev/pull/12496
يجب دمجها قريبًا في 4.0.x.

ال 6 كومينتر

قد تؤدي الاختلافات التالية إلى حل المشكلة في الوقت الحالي

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 %}

مرحبا adhocore ،
نشكرك على فتح هذه المشكلة بهذا الوصف الدقيق.

بخصوص مشكلتك الأولى مع __toString ، يجب دمج الإصلاح السريع قريبًا في 4.0.x: https://github.com/akeneo/pim-community-dev/pull/12430

بالنسبة للمسألة الثانية ، سأحاول أخذ الوقت الكافي للنظر فيها في أسرع وقت ممكن.

مرحبا،

هل لديك بعض الاخبار عن العدد الثاني؟

شكرا جزيلا 🙏

يمكن أن يكون الإصلاح هو استخدام وظيفة twig المحددة في سمة الوسائط مثل هذا:

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

آسف لعدم الرد في وقت سابق.

لقد بحثت فيه وفتحت علاقات عامة حوله: https://github.com/akeneo/pim-community-dev/pull/12496
يجب دمجها قريبًا في 4.0.x.

شكرا جزيلا لك 👍 💪

يرجى عدم التردد في إغلاق هذه المشكلة إذا كان لدينا إصدار جديد من akeneo مع الإصلاحات ، شكرًا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات