Якщо ви використовуєте одне з розширень Amasty, напр. Amasty Layered navigation, ви можете зіткнутися з проблемою поламаних зображень блогу після їх завантаження.
Ми виявили проблему в розширені Amasty_Shopby, яке порушує роботу деяких інших розширень, що використовують завантаження зображень, включаючи й наше розширення блогу Magento 2.
Amasty_Shopby в наступному файлі:
app/code/Amasty/Shopby/etc/adminhtml/di.xml
додає плагін до моделі Magento\Catalog\Model\ImageUploader.
Судячи з коду в цьому файлі:
app/code/Amasty/Shopby/Plugin/Catalog/Model/ImageUploaderPlugin.php
виглядає на те, що Amasty додали якесь виправлення для Magento 2.3.4. і проблема полягає в плагіні beforeMoveFileFromTmp.
Оригінальна декларація Magento MoveFileFromTmp виглядає наступним чином:
public function moveFileFromTmp($imageName, $returnRelativePath = false)
і в плагіні Amasty не вистачає другого параметру $returnRelativePath:
public function beforeMoveFileFromTmp(\Magento\Catalog\Model\ImageUploader $subject, $path)
Тож, плагін Amasty, просто напросто виключає другий параметер функції.
Щоб виправити цю помилку вам потрібно замінити наступний код в ImageUploaderPlugin.php
public function beforeMoveFileFromTmp(\Magento\Catalog\Model\ImageUploader $subject, $path)
{
$posLastSlash = strripos($path, '/');
return $posLastSlash && strpos($path, '/category/') !== false
? substr($path, $posLastSlash + 1)
: $path;
}
на цей код
public function beforeMoveFileFromTmp(\Magento\Catalog\Model\ImageUploader $subject, $path, $returnRelativePath = false)
{
$posLastSlash = strripos($path, '/');
return $posLastSlash && strpos($path, '/category/') !== false
? [substr($path, $posLastSlash + 1), $returnRelativePath]
: [$path, $returnRelativePath];
}
Ми також зв'язались з підтримкою Amasty з приводу цієї проблеми і вони зараз працюють над її виправленням.
UPD (2020-10-02): Сьогодні ми отримали відповідь від Amasty:
Я щойно отримав повідомлення від наших розробників, і вони повідомили, що проблема, про яку ви повідомили, нещодавно була виправлена у версії модуля 2.14.7, тому оновіть її та подивіться, як вона працюватиме для вас.