Импорт Magento 1.7: "Недопустимый тип файла изображения".
За последние пару лет мы загрузили наши настраиваемые изображения продуктов в родительский продукт. Мы внедряем некоторые новые процедуры, которые также требуют загрузки определенных изображений в каждый дочерний продукт.
Я использую массовый импорт, чтобы связать эти изображения с соответствующими дочерними продуктами. Все изображения были помещены в папку /media/импорт, и лист импорта был настроен с изображениями, перечисленными в столбце "изображение", в формате /image-filename.jpg
При попытке загрузить файл и импортировать изображения Magento выдает мне ошибку для каждой записи, в которой утверждается "Недопустимый тип файла изображения". Исследование, которое я провел до сих пор, только уточняет, что Magento принимает только типы изображений "jpg", "jpeg", "gif" и "png", но, конечно, все мои изображения ".jpg"
Есть идеи, почему Magento не понравится мой файл .jpg?
2 answers
Вы можете поместить var_dump в app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php
около строки 280 и посмотреть, что у вас внутри $pathinfo
.
Код довольно понятен, похоже, он проверяет только расширение загружаемого файла.
$pathinfo = pathinfo($file);
$imgExtensions = array('jpg','jpeg','gif','png');
if (!isset($pathinfo['extension']) || !in_array(strtolower($pathinfo['extension']), $imgExtensions)) {
Mage::throwException(Mage::helper('catalog')->__('Invalid image file type.'));
}
Эта проблема была легко решена путем изменения моего CSV-файла. Ошибка "Недопустимый тип файла изображения" была вызвана полем "small_image", а не полем "изображение". Когда я впервые начал работать над своей электронной таблицей, я предварительно заполнил обе эти колонки символом "/", чтобы не пропустить ни одной. Хотя импортер, возможно, успешно импортировал файлы, перечисленные в разделе изображение, он был недоволен косыми чертами, оставленными в поле small_image.