Pim-community-dev: エンリッチメントページからの製品PDFエクスポートのエラー

作成日 2020年06月16日  ·  6コメント  ·  ソース: akeneo/pim-community-dev

:bug:バグを報告しています: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タイプの場合、 contentがこの行114の文字列にすでに変換されているために発生します。
{% set content = optionLabels[attribute.code] %}

同じページの別の関連する問題は110行目にあります:
タイプpim_catalog_imageの場合、 contentAkeneo\Pim\Enrichment\Component\Product\Value\MediaValueのインスタンスであり、$ dataプロパティはありますが、 mediaプロパティはありません。 しかし、その行はcontent.mediaを使用しているため、エラーが発生します。

最も参考になるコメント

先に返信しなくてすみません。

私はそれを調べて、それについてのPRを開きました: 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

2番目の問題については、できるだけ早く調査するように努めます。

こんにちは、

2番目の問題についてのニュースはありますか?

どうもありがとうございました🙏

修正は、次のようなメディア属性で定義された小枝関数を使用することである可能性があります。

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

先に返信しなくてすみません。

私はそれを調べて、それについてのPRを開きました: https ://github.com/akeneo/pim-community-dev/pull/12496
4.0.xでまもなくマージされるはずです。

どうもありがとうございました👍💪

修正された新しいバージョンのakeneoがある場合は、plsはこの問題を自由に閉じてください。ありがとう

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

henryktews picture henryktews  ·  4コメント

oliverde8 picture oliverde8  ·  3コメント

ronn0 picture ronn0  ·  4コメント

Jacky75 picture Jacky75  ·  3コメント

paulchubatyy picture paulchubatyy  ·  5コメント