Feeds импорт товаров ubercart, множество ошибок, Warning, Notice

Главные вкладки

Аватар пользователя Navigator Navigator 27 сентября 2012 в 23:16

При импорте товаров ubercart в журнале выводится множество Warning, Notice:

Warning: Invalid argument supplied for foreach() в функции uc_feeds_node_insert() (строка 123 в файле ..\sites\all\modules\uc_feeds\uc_feeds.module).
Notice: Undefined property: stdClass::$attributes в функции uc_feeds_node_insert() (строка 123 в файле ..\sites\all\modules\uc_feeds\uc_feeds.module).

При этом все в пустой сайт все нормально импортируется, но если запустить тот же файл еще раз и получаю ошибку Maximum execution time of 60 seconds exceeded.

На хостинге же импорт постоянно заканчивается 502 Bad Gateway, после которой импорт зависает. Если запустить cron вручную то или все нормально и добавляется некоторое количество товаров или опять 502 ошибка.

В файле всего около 400 записей такого вида:

699966;699966;Valeo;Cтанция для заправки автокондиционеров;143196.48;2

А надо добавлять около 3000, как это сделать? Чем могут быть вызваны Warning, Notice?

Комментарии

Аватар пользователя Technician Technician 10 ноября 2012 в 23:24

Немного поздновато по отношению к заданному вопросу, но вдруг кому еще пригодится.
Много разных советов/мыслей по данному случаю:

1. Все значения (даже числовые) лучше заключать в кавычки, Feeds это любит. У меня были ситуации, когда без кавычек числа не импортировались, а в кавычках импортировались. Хотя некоторые числа импортируются и сейчас без кавычек. Глубоко этот феномен не изучал. Возможно, зависит от типа данных.

2. Проверьте десятичный разделитель, вдруг это должна быть запятая. Лично я в ценах от копеек отказался, более того, округляю до 10 руб. Всем от этого только удобнее.

3. Если первые два поля всегда одинаковы (ID?), то можно оставить одно и в соответствиях его сопоставить с двумя полями ноды.

4. Я для каждой записи в файл выгрузки добавляю параметр updated, который равен дате/времени выгрузки и сопоставляю его с Published date ноды. Режим обработки нод у меня стоит "Update existing nodes". За счет этого повторный импорт того же файла не занимает практически никаких ресурсов и лишь выдает сообщение "There are no new Материалы.".

5. Еще почему-то у меня ничего не хотело импортироваться без явного указания языка нод. Поэтому первым столбцом в CSV у меня идет language, ассоциированный с "Язык", а значение для каждой строки у него - "ru," (без кавычек).

6. Не знаю, какой у Вас хостинг, но я сейчас использую dh.it-patrol.ru (не реклама!), который заточен под Drupal и на нем в ручном режиме у меня CSV из 1200 записей импортируется около минуты без единой ошибки. Причем, начинал я работать на тарифе за 100 рублей и скорость сразу была такая. Вот правда, сейчас бьюсь с импортом по Cron, там есть косяки. Но это вряд-ли связано с хостингом.