Пытаюсь использовать DP7 и Drupal Commerce для открытия магазина\каталога товаров. Товары нужно подгружать из внешнего источника, на данный момент разработчики предлагают использовать Feeds importers. Для меня на данный момент приемлемым показался вариант загрузки из файла csv. Надеюсь мои наблюдения кому-то помогут, а в идеале помогут и мне.
1. Файл csv должен быть в UTF-8. Видимо, это зависит от многих факторов (кодировка БД, версия БД, и т.д.). Для себя этот вопрос пока решил посредством Notepad+ ("Кодировки" - "Преобразовать в UTF-8")
2. Обязательно нужно использовать Headers, без него файл не обрабатывается, пишет ошибку
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'commerce_price_amount' at row 1
3. Цена должна быть указана в копейках, потому что делится на 100. Я не нашел, где это настраивается.
Есть идеи, как поправить, чтобы работало и с файлами win-1251, правильно отрабатывало галочку "No Headers" и цены принимало сразу в рублях?
В идеале, конечно, мне бы хотелось писать напрямую в БД. Если есть готовый алгоритм - было бы очень хорошо.
Комментарии
подпишусь
пробовал feeds и проблем с ценами не было.
без заголовков не пробовал надо проварить.
от себя добавлю, что при импорте в фидах множественных значений поля через цсв - для каждаго значения должен быть отдельный столбец, что просто ужасно
Спасибо, помогло. С ценой та же история. Введенная цена 12345 воспринимается потом в формате 123,45 руб.
Теперь будем разбираться как таким макаром ноды создавать.
Если создавать файл в Excel, то его модуль принимать не хочет. Более того если потом открыть этот файл в Notepad++, то увидим, что кавычек стало в два раза больше.
Если в Экселе написать
SKU,"Title","Price"
1005,"Товар в магазине",12345
То текстовый редактор выдает:
"SKU, ""Title"", ""Price"""
"1005,""’овар в магазине"",12345"
Комментировать не берусь. Просто факт. Может нужно Эксель настроить ? Open office тоже не сахар. Кавычки вначале и в конце строки добавляет.
В Open Office (LibreOffice) при экспорте в CSV есть галочка "Edit filter Settings". Попробуйте поэкспериментировать.
1. При импорте из Ubercart 2 (Drupal 6) в Commerce для экспорта использовал Views Bonus Pack (Add Feed - Style CSV). Но там есть ошибочки в модуле VBP, исправив которые появляется та самая нужная запятая.
2. Для просмотра и правки лучше использовать Open Office (LibreOffice)
3. Цены действительно в копейках, буду пробовать варианты.
4. Удалять через Feeds Importers тоже можно, по крайней мере пока исходный файл с импортируемыми записями еще доступен. Правда у меня после удаления "На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже." и это теперь конкретно напрягает.
Кстати, если кто подскажет другой способ массово удалять записи о товарах? А то вручную пару тысяч позиций очень долго откликивать....
У меня все равно выдает ошибку
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'commerce_price_amount' at row
Решено!
С копейками кто-нибудь решил проблему?
Я скармливал в формате 199.00, то все равно дробную часть откидывало и считало в копейках
Решил способом перезаписи поля "Цена" при экспорте вьюва через фид.
Rewrite the output of this field
[sell_price]00
с копейками решается модулем Feeds Tamper
видеокаст: http://vimeo.com/25722743
ilavir, спасибо!