дравствуйте дорогие читатели блога Site on! Сегодня вас ждёт подробная инструкция о том, как с помощью бесплатного компонента для Joomla 2.5 — CSVI 5 можно организовать автоматический импорт и последующее обновление цен из вашего прайс-листа прямо в VirtueMart 2.
Другими словами, вам не придётся вручную добавлять товары один за другим. Теперь чтобы добавить несколько тысяч товаров — вам нужно потратить всего пару минут.
Для этого необходимо:
- Скачать и установить последнюю версию компонента CSVI Free. В данный момент это 5.11.
- Прайс-лист в формате Exel (.xls, .xlsx) или CSV (.csv)
Далее вы должны привести свой прайс-лист к такой структуре:
А именно: одна строка – один товар. Количество столбцов может быть разным, в зависимости от того, какие свойства должен иметь ваш товар. Например, вы можете добавить столбец с мета-описанием и ключевыми словами для SEO или наоборот, убрать ненужные вам столбцы.
Импорт товаров. Способ №1
Порядок столбцов совершенно не важен!
Первая строка — это названия соответствующих свойств товара, в моём случае товар импортируется со следующими свойствами:
- Категория товара (category_id)
- Артикул (product_sku)
- Название (product_name)
- Полное описание (product_desc)
- Цена (product_price)
- Краткое описание (product_s_desc)
- Опубликовать или нет (published: 1 или 0)
- Производитель (manufacturer_id)
Насколько я помню столбец "Артикул" обязателен.
Где можно посмотреть названия всех свойств и обязательно ли называть ими столбцы - расскажу чуть позже.
После того как вы подготовили свой прайс-лист вы должны обязательно сохранить его как CSV (разделители - запятые) (*.csv). Кстати этот формат поддерживает только 1 лист в файле, то есть если у вас в Exel несколько листов, то сохраниться только текущий.
С подготовкой прайс-листа почти закончили, осталось только пересохранить его в формате UTF-8 без BOM, чтобы компонент CSVI смог прочитать русские символы.
Это можно сделать с помощью большинства редакторов кода, например, я пользуюсь для этого PSPad, думаю, в NotePad++ тоже есть такая возможность.
Кто не понял, что на данном этапе нужно сделать, прошу сюда: Перекодирование в UTF-8.
После перекодирования в вашем файле все русские символы сменяться на кракозябры:
На этом прайс-лист готов, теперь заходим в настройки компонента, а именно в раздел Process (я оставил англоязычную версию) здесь настраиваем всё как у меня:
Жмём Go, и продолжаем сравнивать с моими настройками:
Вкладки Path и Limit можете не трогать вообще. Обычно в прайс-листах отсутствует колонка с перечислением фотографий к товару, поэтому вкладкой Image я тоже не пользовался. Несмотря на это вы должны знать, что фотографии таким образом тоже можно добавить, причём не по одной фотографии к товару, а все сразу. К сожалению, в VirtueMart не предусмотрено "родного" способа мультизагрузки фотографий к товару, только платные плагины. Поэтому это единственный бесплатный способ добавить одновременно несколько фотографий к товару, а не загружать по одной :)
Вкладку Fields мы тоже пропускаем, так как написали названия полей в самом прайсе.
Вот и всё, теперь выбираем наш прайс-лист:
И жмём на кнопку Process, которая расположена вверху справо.
Импорт товаров. Способ №2
Я пользуюсь первым способом, однако на всякий случай расскажу вам второй вариант. Из прайс-листа можете удалить первую строчку, там, где мы писали названия столбцов. Вместо этого мы должны перечислить их в самом компоненте, во вкладке Fields.
При этом важно, чтобы порядок полей во вкладке Fields совпадал с порядком столбцов в вашем прайс-листе:
Заодно здесь вы можете узнать все доступные свойства и их названия.
После того, как вы создали все необходимые поля в настройках компонента, снова перейдите на вкладку File и измените параметр "Use headers/nodes as configuration" на "нет".
Кстати, вместо того чтобы удалять названия столбцов, здесь же вы можете установить параметр "Skip first line" в положение "да", в этом случае первая строчка вашего прайс-листа просто проигнорируется.
Когда вы выполнили все настройки компонента, вы можете их сохранить для повторного использования. Для этого нажмите "Save as". Я создал 2 шаблона, из названий понятно, в чём их разница:
Но как я уже сказал, одного вполне достаточно.
Обновление товаров и цен
На самом деле про экспорт товаров в данной статье я упоминать не буду, возможно позже напишу об этом более интересную статью, чем банальный экспорт через CSVI.
А сейчас я хочу обратить внимания на более важную, как по мне, возможность рассматриваемого нами компонента. Это – обновление!
Итак, процедура обновления нечем не отличается от импорта, кроме того, что вы во вкладке File должны выставить параметр "Ignore non-existing items" в положение "да". Этот параметр запрещает создавать новые товары. Вообще никто не мешает вам обновить старые товары, и при этом добавить новые, просто лично я так не делаю.
Теперь, когда вы выставили Ignore non-existing items, то можете смело обновлять только те свойства товара, которые вам нужны, например, цену.
Это единственное свойство, которое я обновляю.
Для того, чтобы обновить цены вашего интернет магазина, вы должны оставить в вашем прайс-листе всего 2 столбца: артикул и цену, где артикул служит ключом (привязкой), вместо привычного id в базах данных.
Вот и всё, изменили один параметр, подготовили прайс-лист, а далее всё как при обычном импорте, выбираете документ и жмёте process.