vtrcmert, если я правильно понял, у тебя нет ограничивающих символов? Хотя вряд ли. Так ни одна прога для работы с таблицами не сохранит (разве только ты сам в ручную файл готовил в текстовом редакторе).
На самом деле ничего сложного в импорте через CSV Improved нет.
Поделюсь своим bullet-proof вариантом (попытаюсь упростить для понимания тех, кто еще не работал с CSVI).
Для начала создаешь в Excel или
OpenOffice Calc (кому как удобнее, однако OpenOffice будет нужен в любом случае, объясню дальше) файл со списком товаров.
В первой строке пишешь названия полей. Основной писок полей для VirtueMart можно посмотреть
тут, либо в самом компоненте.
Дальше - на каждой строке прописываешь товары. Один товар - одна строка. Ячейки заполняешь в соответствии с заголовками полей (первая строка).
Когда товаров много - удобно закрепить первую строку, чтобы она не прокручивалась вместе с листом (для Excel 2007-2010 это вкладка Вид - Закрепить области - Закрепить верхнюю строку)
По твоему примеру я бы порекомендовал заменить
category_id на
category_path - в этом параметре можно указать список категорий с вложенностью. Тебе не придется создавать заранее категории в VirtueMart, они будут созданы автоматически.
Когда таблица с товарами будет готова, сохраняем ее и открываем в OpenOffice Calc.
Calc нам нужен потому, что он дает больше возможностей по настройке импорта/экспорта, чем Excel.
Еще раз проверяем в Calc все поля и выбираем
Файл - Сохранить как, там выбираем "Текст CSV"
Кодировка указываем:
Юникод UTF-8, разделитель поля:
^, разделитель текста:
~В принципе, можно использовать другие разделители, но с такими (как были в первых версиях CSVI) больше вероятность, что такие символы не попадутся в названии товара, артикуле или описании.
Всё. Сохранили.
У тебя должен получиться примерно такой файл:
~product_sku~^~product_name~^~product_price~^~category_path~
~1~^~товар1~^~100~^~Категория~
~2~^~(товар2)~^~200~^~Категория/Вложенная категория~
~3~^~товар три~^~300~^~Категория~
~4~^~товар 4.~^~400~^~Категория~
Далее, топаем в админку, в CSVI - Process.
Если при установке были поставлены примеры шаблонов, то в "Select template to load" выбираем "Example VirtueMart product import" и тыкаем в кнопку "Load".
Настраиваем шаблон импорта (я опишу основные настройки, дальше - сами по вкусу).
Вкладка File:
Auto detect delimiters - в принципе, CSVI может попробовать сам определить, какие у вас в файле разделители/ограничители, но я на него не полагался ни разу, так что советовать не буду (хотите - проверьте сами).
Field Delimiter - ставим
^, или тот разделитель, который был указан при экспорте из Calc
Text Enclosure - ставим
~, или тот ограничитель, который был указан при экспорте из Calc
Use headers/nodes as configuration - ставим
Да. Это очень важно - чтобы CSVI при импорте использовал названия полей, которые присутствуют непосредственно в файле импорта. Иначе он будет пытаться отыскать там поля, указанные в своем шаблоне импорта, а предварительно готовить файлы четко по шаблону очень не удобно.
Вкладка Options:
Language - ставим тот язык, для которого будет выполнен импорт. Так как VM2 - многоязычный магазин, можно создавать различные описания и названия товаров для различных языков. и хранятся они в разных таблицах в базе. В большинстве случаев это будет, скорее всего, Русский.
Ну в общем и всё с настройками, нужно только нажать на кнопку Apply сверху, чтобы настройки шаблона сохранились.
Далее, на этой же странице - Load from computer - тыкаем в обзор и загружаем свой подготовленный CSV файл.
Вот и всё.
Если что-то не получилось - описывайте конкретную проблему, будет время - постараюсь помочь.