При выгрузке из 1С на сайте получаем вместо фотографий черные квадраты. Как быть и что же делать? Самое главное: кто виноват?
Это связано с тем, что в настройках инфоблока стоит опция «уменьшать изображения». И инфоблок честно пытается их уменьшить.
Но бывают не совсем корректно сформированные изображения (у меня jpeg). По разным причинам: битая флэшка, глупый фотоаппарат, глупый фотограф. Из-за этого библиотка GD (которую использует Битрикс) не может их открыть и отправляет Warning. Но так как Warning’и подавлены, лога импорта нет (о, как бы хотелось его получить) и нет проверки на валидность открытого файла, в итоге получаются черные квадраты.
Для того чтобы инфоблок пропускал «неправильные» картинки, нужно в файл /bitrix/modules/iblock/classes/general/iblock.php добавить проверку: смогла ли GD открыть наше изображение? В строке 2595 добавим строчки:
if ($image === false)
return GetMessage("IBLOCK_BAD_FILE_UNSUPPORTED");
И система будет просто пропускать проблемные файлы.