Автор Тема: импорт товара с характеристиками  (Прочитано 694 раз)

10 Июнь 2016, 11:32:56
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!
Видел похожие темы, но на свой вопрос ответа не нашёл.
Как импортировать значение характеристики, содержащее текст с запятой внутри? Например, строка:
6049;1;Костюм Автогонщика;37,386;2860;;;;;;;;8562;;;5;;;;;;;;12;;;;;;Замечательный костюм автогонщика.;;Карнавальный костюм;;;;;;;;;;;;;Возраст:от 3 лет,Состав:винил‚ пластмасса‚ текстиль,Страна:США,Тип:карнавальные костюмы
В поле состав есть запятые и импортируется значение "винил" вместо "винил‚ пластмасса‚ текстиль". Я бы понял, если бы вообще нельзя было использовать запятые, но в каком-то случае проходит загрузка, а в каком-то нет. Удивительно, но, если скопировать с админки текст "винил, пластмасса, текстиль" - он может загрузиться, а если символ-в-символ набрать вручную - нет. Проверял в ворде с включенными неотображаемыми символами - строки идентичны. Подскажите, что я проглядел или не учёл?
10 Июнь 2016, 11:35:13
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
При импорте можно выбрать разделяющий символ. Измените разделиль в файле импорта на знак, которого нет в тексте. Потом укажите этот знак на странице импорта.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Июнь 2016, 11:36:29
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
С файлами импорта в ворде не работают. Только в блокноте или спец. программами.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Июнь 2016, 11:44:32
Ответ #3
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да, я использую notepad++, спасибо. В ворд я полез уже в отчаянии - включить показ неотображаемых символов (знаю, что в notepad++ тоже есть). Ибо одна и та же строка скопированная импортировалась корректно, а набранная с клавиатуры - нет. Так почему так происходит? Выше решение, в принципе, подойдёт, при генерации файла csv, видимо использую знак ~ вместо запятой. Но всё равно хотело бы уловить логику импорта. Может стоит покопаться в источнике? Какой файл изначально ответственен за  разбор csv файла?
10 Июнь 2016, 11:51:53
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Проблема может быть в кодировке. Кодировка должна быть utf-8 без bom.
В файле иморта не обязательно указывать пустые поля. Если структура строк одинаковая, то в ";;;;" нет необходимости. На втором шаге импорта вы выбираете  соответствие полей таблиц и данных в файле импорта.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Июнь 2016, 11:58:22
Ответ #5
  • Новичок
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
За наводку с utf-8 без bom спасибо. Я выбирал кодировку просто utf-8. Попробую.
а кучу ";" подряд я выбираю больше от лени и некоторой уверенности в гарантии результата. Структура импорта всегда идентичная и 1) не надо вручную выбирать соответствие полей, 2) не накосячишь выбирая это соответствие. А файл я генерирую сам в VBA, так что количество ";" сложности не добавляет. При обновлении цен и остатков у меня вообще всего 5 полей, вот там - да - у меня запомненное сочетание столбцов-полей.
UPD.
Не, выбор utf-8 без bom не помог. Строка
6049;1;Костюм Автогонщика;37,386;2860;;;;;;;;8562;;;5;;;;;;;;12;;;;;;Замечательный костюм автогонщика со шлемом и приборной доской-рулем. Костюм очень легко стирается в стиральной машине и благодаря хорошему качеству долго не выцветает и не теряет форму.;;Карнавальный костюм;;;;;;;;;;;;;Возраст:от 3 до 6 лет,Состав:винил‚ пластмасса‚ текстиль, винил‚ пластик‚ текстиль,2,Страна:США,Тип:карнавальные костюмы
импортирует Состав: винил‚ пластмасса‚ текстиль
а строка
6048;1;Коврик, строительная плащадка;17,82;2400;;;;;;;;9407;;;5;;;;;;;;33;;;;;;Коврик изготовлен с прочного материала. Игровой коврик представляет собой карту небольшой части строящегося города. Можно стирать в стиральной машинке. В наборе коврик и 3 машины.;;Деревянные Игрушки;;;;;;;;;;;;;Возраст:от 3 лет, Состав:винил,пластмасса,текстиль,туц, Страна:США, Тип:игровой коврик, Габариты:98,5*88,5см
импортирует Состав: винил
UPD2 (15-06-16):
Оказывается предыдущий человек, занимавшийся сайтом, использовал "Нижняя одинарная открывающая кавычка" вместо запятой. На глаз это вообще не отличишь. Увидел, когда скопировал строку в онлайн конвертер ASCII кодов. Всем спасибо за помощь.