Полный разбор компонента CSVI

Комментариев: 0

Первую свою статью на эту тему я написал несколько лет назад. С этого времени много воды утекло и CSVI изменился не только визуально, но и появились некоторые технические особенности, да и мой опыт использовании этого компонента для решения самых разнообразных задач стал намного шире, и я подумал, что самое время поделиться накопленным опытом. Встречайте, полный разбор компонента CSVI на реальных примерах и типовых задачах. 

Вводные данные о компоненте

Поддерживаемые стандартные компоненты

Начнем наш познавательный рассказ о CSVI с перечисления основных его возможностей, для того, что бы у Вас сложилось понимание,  сможет ли данный компонент решить именно Вашу задачу.

к содержанию ↑

Поддерживаемые компоненты с помощью дополнительных расширений

  • Joomla Категории материалов
  • Joomla Материалы
  • Joomla Меню
  • Joomla Пользователи
  • Akeeba Subscriptions
  • AwoCoupon
  • Custom Filters Pro
  • EZ Realty
  • Fast Seller
  • HikaShop
  • K2
  • Virtuemart Product Builder
  • RSform
  • Virtuemart
  • Custom Fields For All
  • Stockable Custom Fields
  • J2Store

Как видите, список того, с чем работает CSVI самый разнообразный, а следовательно можно автоматизировать или просто ускорить почти любую задачу по наполнению и редактированию сайта.

к содержанию ↑

Какие типовые задачи может решить CSVI?

  • Импорт/Экспорт материалов и категорий в Joomla (очень удобно создать один раз демо-контент, а затем просто импортировать его в вновь создаваемые сайты, это значительно ускоряет разработку).
  • Импорт/Экспорт навигационного меню Joomla (вы можете создать несколько вариантов меню, а затем быстро импортировать их в разрабатываемые сайты, кроме этого, конечно можете ускорить процесс создания большего количества пунктов меню).
  • Импорт/Экспорт пользователей Joomla (может пригодится при миграции с одной версии Joomla на другую, для того, что бы сохранить накопившихся пользователей, к тому же лично я часто использую для того, что бы скопировать E-mail ящики для проведения рассылки).
  • Импорт/Экспорт товаров/заказов/статистики из компонентов интернет-магазинов Virtuemart, HikaShop и J2Store.
  • Синхронизация остатков/товаров/заказов с 1С Предприятие
  • Экспорт товаров в Яндекс.Маркет и Google Ads.

Пожалуй это наиболее распространенные задачи, которые приходится решать при разработке и контентной поддержке сайта на Joomla.

к содержанию ↑

Импорт/Экспорт материалов и категорий в Joomla

Экспорт материалов

Что бы лучше понять как работает CSVI, первым делом лучше всего сделать импорт данных. После этого, вы можете понять какие данные могут быть выгружены, в каком виде и следовательно будет понятнее делать импорт.

Создаем шаблон экспорта материалов

Переходи в компоненты CSVI -> Templates (Шаблоны) и нажимаем кнопку "Создать". Заполняем появившуюся форму:

Нажимаем Next (Далее) и указываем желаемый способ получения файла. В нашем случае это будет Download (скачать файл после экспорта данных). Но мы как Вы понимаете, можно выбрать и другие способы, например сохранить на сервер, отправить на почту и даже выгрузить в другую базу данных, а можно всё сразу.

Заполняем поле с именем будущего файла. Обязательно указываем расширение .csv, а также указываем разделитель полей (Field Delimiter) - запятая, а разделитель текста (Text Enclosure) - кавычка. Также можно изменить формат вывода даты, ограничить или задать диапазон записей которые необходимо экспортировать.

Теперь необходимо выбрать поля, которые нужно экспортировать. Поля имеется ввиду, какие данные материала выгружать, например: наименование, текст, категория и т.д.

Выгрузить Вы можете любые доступные поля, но стоит учесть, что бы потом можно было импортировать файл обратно, он должен содержать обязательные поля, например без поля ID, CSVI не сможет понять о каком материале идет речь при импорте. По-этому указывайте для экспорт поле ID и все другие необходимые. В моём случае это следующие поля:

Теперь у нас всё готово для экспорта и мы можем к нему приступить. Переходим в CSVI->Экспорт (Export), выбираем созданный нами шаблон "Экспорт материалов" и нажимаем кнопку Export. После небольшого ожидания, файл автоматически сохранится Вам в загрузки.

Импорт материалов

Теперь, когда у нас есть файл экспорта, мы можем открыть его и сделать на его основе файл для импорта.

Создаем шаблон импорта материалов

После подготовки файла, с которой я надеюсь у Вас не возникнет никаких проблем, мы можем переходить к созданию шаблона импорта и самому импорту. Делается это крайне просто.

Переходим в CSVI - Templates -> Создать и заполняем поля:

Затем переходим к следующему шагу и в поле Source выбираем источник загрузки файла. Обычно это загрузка файла с вашего ПК (Load drom your computer), но вы можете загружать файл с другого сервера, удаленной базы данных и т.д.

Нажимаем ещё несколько раз Next и наш шаблон готов. Никаких дополнительных настроек можно не вносить, всё будет и так прекрасно работать.

Импорт материалов

В завершении необходимо импортировать файла, который мы подготовили использую созданные шаблон импорта. Делается всё это очень просто.

Переходим в CSVI -> Import -> Choose Template -> Импорт материалов и нажимаем кнопку Select File. Выбираем наш подготовленный для загрузки файл и нажимаем кнопку Import. Ждем несколько секунд и проверяем результат.

к содержанию ↑

Экспорт Email пользователей Joomla

Достаточно часто бывает необходимость выгрузить все E-mail ящики зарегистрированных пользователей, для того, что сделать рассылку с помощью специализированных сервисов. Более опытные пользователи могут использовать phpMyadmin и просто сделать экспорт таблицы Users, но для тех, у кого опыта не достаточно, можно использовать компонент CSVI.

Создание шаблона экспорта пользователей

Переходим в CSVI -> Templates -> Создать и заполняем форму следующим образом:

Нажимаем Next, затем оставляем в поле Destination значение Download для того, что бы по итогам экспорта скачать файл с данными, жмём Next и заполняем форму.

Нажимаем Next и нажимаем кнопку "Edit Template fields". В открывшемся окне, нам необходимо выбрать поля, которые мы будем выгружать. Для этого нажимаем кнопку "Quick add" и отмечаем галочками поля: Email и для большей информативности можно отметить поле Name и любые другие, необходимые Вам поля. Нажимаем кнопку "Add Fileds" и всё готово к экспорту.

Экспорт E-mail пользователей

Переходим в CSVI -> Export -> Select template -> Экспорт пользователей нажимаем несколько раз Next и скачиваем файл с нужными нам данными. На этом всё.

к содержанию ↑

Импорт/Экспорт товаров Virtuemart

Наиболее часто использовать CSVI приходится при работе с товарами интернет-магазина. Загрузить новые товары, отредактировать старые, массово изменить цены, картинки и многое другое - это повседневные задачи администратора интернет-магазина и CSVI здесь совсем кстати. Давайте разберемся с этим.

Экспорт товаров

Что бы лучше понять, то какие данные и в каком виде, вы можете изменять, давайте сделаем шаблон экспорта и сделаем тестовую выгрузку товаров.

Создаем шаблон экспорта товаров

Переходим в CSVI -> Templates -> Создать и заполняем форму следующим образом:

Если у Вас в разделе "Component" не отображается Virtuemart, Вам требуется установить дополнение, которое идет в поставке с компонентом (plg_virtuemart).

Раздел "Operation" содержит в себе список операций, который может выполнять CSVI с Вашим магазином. Чаще всего приходится использовать "Product" для работы с товарами и "Category" для работы с категориями товаров.

Нажимаем Next (Далее) и указываем желаемый способ получения файла. В нашем случае это будет Download (скачать файл после экспорта данных). Но мы как Вы понимаете, можно выбрать и другие способы, например сохранить на сервер, отправить на почту и даже выгрузить в другую базу данных, а можно всё сразу.

Указываем в поле Text Enclosure - символ ". Также можете указать разрядность цен в поле Number of decimals. По-умолчанию этот показатель 2 и цены будут выглядеть так: 1000.00, если установить значение 0, будет так: 1000.

Теперь переходим к следующему шагу и нажимаем на кнопку "Edit template fields"

Теперь необходимо выбрать необходимые для экспорта и последующего импорта поля. На скриншоте я отобразил список наиболее часто используемых полей, которые подойдут для простой выгрузки. Ниже представлен список всех доступных полей для выгрузки с описанием.

  • basepricewithtax - базовая цена с налогом
  • category_name - название категории товаров, например "Автокресла"
  • category_path - путь категории товаров, например: Автомобили/Автокресла. По-умолчанию разделитель "/", но его можно менять
  • created_by - пользователь создавший товар
  • created_on - дата создания
  • file_url - название изображения или путь до изображения в папке images/stories/virtuemart/products. Удобно назвать изображения артикулом, что бы потом просто скопировать колонку артикулов в это поле и дописать в ним расширение файла .jpg или .png.
  • hits - количество просмотров товара
  • layout - шаблон карточки товара
  • manufacturer_name - производитель
  • max_order_level - максимальное количество для заказа
  • metaauthor - мета-тег author
  • metadesc - мета-тег description
  • metakey - мета-тег keywords
  • metarobot - мета-тег robots
  • min_order_level - минимальное количество для заказа
  • modified_by - пользователь сделавший последнее изменение товара
  • modified_on -дата последнего изменения
  • product_currency - валюта
  • product_desc - детальное описание товара
  • product_gtin - штрих-код
  • product_height - габариты: высота
  • product_in_stock - остаток на складе
  • product_mpn - уникальный складкой номер
  • product_name - наименование товара
  • product_parent_sku - артикул родительского товара
  • product_price - цена
  • product_sales - количество продаж товара
  • product_sku - артикул
  • product_special - специальное предложение, принимает два значения 1 и 0. product_stockhandle
  • product_s_desc - краткое описание товара
  • product_weight - габариты: вес товара
  • published - статус публикации на сайте, принимает два значения 1 и 0.
  • related_categories - сопутствующие категории
  • related_products - сопутствующие товары, артикулы сопутствующих товаров
  • salesprice - цена продажи
  • shopper_group_name - имя группы пользователей
  • slug - слаг отображаемый в URL товара
  • step_order_level - шаг количества для заказа

После того, как Вы выбрали необходимые для выгрузки и последующей загрузки поля, можно выгрузить наши товары. Для этого переходим в CSVI -> Export и выбираем созданный нами шаблон "Экспорт товаров". Затем жмём Next и получаем наш файл. Откройте файл, ознакомьтесь с ним и теперь на его основе можно готовить файл для импорта товаров.

Импорт товаров

Часто приходится наполнять интернет-магазин товарами и по-этому импорт является наиболее распространенной операцией, давайте научимся это делать. Для тех, кто пропустил первую часть моей статьи, скажу, что для удобства сделайте сначала экспорт, а затем редактируйте файл на своей усмотрение и делайте импорт.

Создаем шаблон импорта

Переходим в CSVI -> Templates -> Создать и заполняем форму следующим образом:

Если у Вас в разделе "Component" не отображается Virtuemart, Вам требуется установить дополнение, которое идет в поставке с компонентом (plg_virtuemart).

Нажимаем "Next" выбираем откуда мы будем загружать файл для импорта товаров. Обычно это "Load from yout computer", но вы также можете загружать файл с удаленного сервера (например напрямую с сайта поставщика, можно настроить расписание, когда каждый заданный интервал времени файл автоматически будет импортироваться).

Теперь опять нажимаем "Next" и разбираемся с этой формой:

Здесь нас нас интересует поле "Use file for configaration". Если выставлено значение "Да", то при импорте CSVI будет брать заголовки столбцов загружаемого файла и сопоставлять их с аналогичными в базе данных. Другими словами, если ваши колонки в файле называются так: product_name, product_sku и т.д - это будет самый лучший вариант. А если в файле, у вас вместо product_name указано что-то вроде "Наименование товара", тогда необходимо будет добавлять все необходимые поля в нужном порядке и выставлять значение Skip first line в положение "Да". Если не поняли о чем я, тогда просто используйте название столбцов, которые получились при экспорте и никаких проблем не будет, на этом создание шаблона будет закончено и можно приступать к загрузке.

Импорт товаров

Импортировать готовый файл очень просто. Достаточно перейти в раздел: Компоненты -> CSVI -> Import, выбрать шаблон "Импорт товаров" и сверху нажать кнопку "Select file". Теперь выбираем файл и нажимаем кнопку "Preview", получится что-то вроде этого.

Убедитесь в том, что всё отображается корректно. Например часто бывает ошибка с кодировкой кириллических символов. Эта проблема связана с тем, что при сохранение файла, он должен быть сохранен в кодировке UTF-8. О том как правильно сохранить файл, читайте ниже.

После того как убедились в корректном отображении данных, нажимайте на кнопку "Start Import", ожидайте завершение процедуры импорта и идите проверяйте, что получилось.

к содержанию ↑

Часто задаваемые вопросы, проблемы и решения

Мы постараемся пополнять данный список вопросов и ответов, по мере их поступления в комментариях.

к содержанию ↑

Как правильно сохранять файл для импорта?

CSVI работает с файлами в кодировке UTF-8. Сохранять в этой кодировке на данный момент может только OpenOffice, LibreOffice. Да-да, не получится здесь использовать Excel (хотя может что-то и поменялось в этом смысле, надо читать актуальную инфу на дату прочтения этой статьи). Поэтому, идите на официальный сайт OpenOffice , загружайте и устанавливаете офисный пакет (можно ограничиться только программой Calc).

Открывайте свой файл в этой программе, вносите необходимые изменения, а сохраняйте следующим образом:

Файл -> Сохранить как, тип файла Текст CSV и обязательно установите флажок "Изменение настроек фильтра".

На следующем шаге, Вам будет предложено указать разделители и кодировку. Разделители можно оставить без изменений, а кодировку указать UTF-8.

На этом всё, файл можно теперь импортировать на сайт. Проблем с кодировкой быть не должно.

CSVI PRO

Версия расширения:7.11.0
Дата обновления:13.11.2018

Отправить ответ

avatar
  Подписаться  
Уведомлять