После указания администратором водяного знака для товарных изображений они пропадают с витрины

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

29.07.2014 16:09

Описание дефекта:
  • Дефектные версии: дефект замечен в самой свежей версии Magento Community Edition: 1.9.0.1.
    Дефекту скорей всего подвержены и более ранние версии Magento Community Edition.
    Дефекту также подвержена Magento Enterprise Edition (1.13.0.1 и, вероятно, другие версии).
  • Место дефекта: дефект проявляется во всех местах витрины, где система должна показывать товарные изображения.
    В частности, дефект заметен на странице товара и странице списка товаров.
  • Описание дефекта:
    Система не показывает на витрине товарные изображения.
    Вместо товарных изображений система показывает картинку-заглушку (по умолчанию такой картинкой является логотип Magento).
    Прикрепленное изображение: дефект-отсутствия-товарных-изображений---список-товаров.png

    Прикрепленное изображение: дефект-отсутствия-товарных-изображений---страница-товара.png

  • Предпосылки дефекта:
    Отсутствие значения по умолчанию для степени прозрачности водяного знака.
  • Причина дефекта:
    Программный код надожения водяного знака ядра Magento не совсем правилен.
    Он неправильно обрабатывает ситуацию, когда администратор не указал степень прозрачности водяного знака.
    По-правильному, Magento должна в такой ситуации использовать степень прозрачности по умочанию.
    Однако вместо этого Magento с некорректными параметрами вызывает функцию imagecopymerge стандартной библиотеки GD интерпретатора PHP.
    Это приводит к исключительной ситуации, которую Magento никуда не сохраняет и не показывает ни администратору, ни пользователю:
    «Warning: imagecopymerge() expects parameter 9 to be long, string given in lib/Varien/Image/Adapter/Gd2.php on line 472».
  • Описание сбоя в других источниках:
    Сбой широко описан в других источниках: imagecopymerge() expects parameter 9 to be long.
    Как обычно бывает, большинство умозаключений и решений, делаемых и предлагаемых пользователями — либо неправильные, либо связаны с ручными правками ядра Magento (которые поломаются при обновлении).

Способ устранения сбоя:
Российская сборка Magento, начиная с версии 2.36.2, способна устранять данный сбой.
Для устранения сбоя достаточно просто обновить интернет-магазин.

Поделиться темой: