norfin писал(а):Вот часть файла импорта
1. Начнем с того, что на демосайте импорт из Вашего сайта прекрасно работает. Стало быть, Ваша теория об ошибках в файле не подтверждается.
2. Теперь перейдем к локальнму серверу. У меня при запуске выдает ошибку Execution time exceded. Если в файле backend/ajax/import.php строку
$productsCount = 100;
заменяю на
$productsCount = 10;
то импорт файла проходит нормально.
3. Ситуация п.2 - следствие недостатков скрипта импорта:
3.1. Разработчики запланировали фиксированное число строк для обработки за один вызов на сервере. А надо бы учитывать время обработки и при приближении лимита времени программно прерывать цикл и заканчивать обработку порции. Именно так сделано при обмене с 1С, и совсем несложно было бы перенести этот прием в скрипт импорта. Видимо, текущее положение пришло из Simpla - как скопировали много лет назад, так оно и живет.
3.2. Попробовал проанализировать, где конкретно тормозит для данного файла на локальном сервере. Оказалось - при обработке изображений. В файле у товаров в основном по десятку изображений и более. По каждому изображению делается отдельный запрос. Стало быть, имеем порядка 1000 запросов к таблице изображения. И запросы с поиском по тексту, что дает немалую нагрузку.
Причем у меня таблица изображений содержит всего 2 тыс изображений. А на реальных сайта это кол-во обычно на порядок больше. Это второй недостаток.
Довольно легко можно было бы свести вопрос к 100 запросам. А если поработать чуть побольше, то даже и к одному запросу...
3.3. Рядом со строкой из п.2 надо бы поставить
set_time_limit(0);
если уж поленились сделать правильно, как в обмене с 1С.
Добавлено спустя 21 минуту 54 секунды:
Aleks писал(а):Обзор ошибок в файле:
1. Названия служебных столбцов: категория, артикул, цена, активность (visible), краткое описание для Превью (Annotation), полное описание (Description), бренд даются латиницей. Можно бренд дать кириллицей, тогда он будет показан в Характеристиках.
2.Длина переда изделия, см: S - 69см: M - 71см: L - 72см|Длина рукава от горловины, см: S - 40см: M - 40см: L - 40см|Ширина под проймами рукавов (над грудью), см: S - 53см: M - 56см: L - 58см. Ошибка из-за вертикальной линии (| ). Вместо ее можно точку или запятую.
3.Очень много категорий. Следует объединить некоторые категории. Например: категория Верхняя одежда, в ней субкатегории: джинсы, кофты, шубы, манто и проч.
1. "Названия служебных столбцов ... даются латиницей" - Совсем не обязательно. Есть разные варианты. Например, столбец с названием товара может иметь заголовок 'название' или 'наименование' и прекрасно автоматически распознается.
2. Почему решили, что это ошибка?
В Вашем файле demo.csv присутствует эта самая вертикальная линия в колонке Параметры, что не мешает импорту нормально работать. Я при импорте установил этот столбец как новое свойство, текст вместе с вертикальными линиями записался как надо и показывается на витрине...
3. А уж это совсем не ошибка.