Перейти к содержанию
Форум поддержки пользователей VamShop

Импорт/экспорт в VamShop 2


Рекомендуемые сообщения

Импорт/экспорт в VamShop 2.
 
Сразу предупреждаю, этот модуль не для слабых духом   :what:
В том смысле, что импорт/экспорт через excel, скажем так, не для начинающего пользователя. Хоть я и старался описать всё максимально подробно и понятно простому пользователю, но, всё-таки, код писали программисты с немного отличным от простого пользователя мышлением, так что, готовьтесь, мне, как не программисту и обычному пользователю, тоже было сложно разобраться, что к чему, но у меня получилось, надеюсь, получится и у Вас.   :dad:
 
В VamShop 2 можно выгружать контент (содержимое) магазина в Excel (OpenOffice, Google Spreadsheet, в любую программу для электронных таблиц, сохраняется всё в xls файл), а так же добавлять новый контент (товары, категории, статьи, новости и т.д.) с помощью Excel (xls файла).
 
В данной статье я расскажу про общий принцип работы импорта/экспорта, покажу пример добавления нового товара в магазин на базе VamShop 2 через Excel.
 
1. Экспорт.
2. Описание файла с данными.
3. Добавление нового товара в магазин.
4. Импорт файла с данными в магазин.
 
1. Экспорт.
 
Итак, выгрузка находится в Админке - Содержание - Импорт/экспорт. Заходите в данный раздел.
 
Вы увидите две закладки:
Импорт - для импортирования (загрузки) файла с данными в магазин.
Экспорт - для экспортирования (выгрузки) файлы с данными из магазина.
 
Начнём с экспорта.
 
Заходим в закладку Экспорт и отмечаем "птичками" все данные для выгрузки и нажимаем Продолжить - рис. 1.
 
post-1-0-38759900-1392660890_thumb.png
 
Мы отмечаем данные, которые будут выгружены из магазина в файл.
 
Перед описанием каждой выгружаемой таблицы, давайте договоримся, что любой элемент в магазине (страница, товар, категория, статья, новость, ссылка) будем называть единицей контента.
 
Мы можем выгружать следующие таблицы (данные)
 
Content - информация о единице контента в магазине.
ContentType - тип контента.
ContentProduct - информация о товаре.
ContentCategory - информация о категории.
ContentArticle - информация о статье.
ContentNews - информация о новости.
ContentDescription - описание единицы контента.
Attribute - атрибуты товара (спецификации, фильтры).
ContentImage - картинки единицы контента.
 
Здесь нужно понять один не сложный, но главный прницип. Любая единица контента в магазине состоит из минимум трёх связанных между собой таблиц.
 
Content,ContentDescription - об общая информация о любой единице контента + таблица, описывающая свойства определённого типа контента, т.е. при экспорте всегда должны быть отмечены минимум 3 таблицы, это обязательно.
 
Типы контента следующие:
ContentProduct - товар.
ContentCategory - категория.
ContentArticle - статья.
ContentNews - новость.
 
т.е. при экпорте/импорте в зависимости от того, с какими данными мы хотим работать, мы можем выгружать только то, что нам нужно (например только категории, только товары, либо всё вместе).
 
Запомните главное, любая единица контента в магазине будет состоять минимум из 3 листов: Content, ContentDescription + тип. 
Например для товара это будет: Content, ContentDescription + ContentProduct
Для категории: Content, ContentDescription + ContentCategory
Для новости: Content, ContentDescription + ContentNews и т.д.
 
Запомните этот момент, он важен и пригодится нам когда мы будем добавлять новый товар через Excel, с помощью импорта файла с данными в магазин.
 
Ещё раз, любой элемент контента в магазине описывается как: Content, ContentDescription + тип.
 
2. Описание файла с данными.
 
Переходим в нашему файлу, который мы сохранили при экспорте. По умолчанию файл сохраняется в архиве content.zip. Распаковываем полученный при экспорте архив content.zip и открываем файл content.xls в Excel, либо любой другой программе для электронных таблиц, в нашей статье это будет OpenOffice - рис. 2. 
 
post-1-0-22802100-1392660891_thumb.png
 
Вы видите перед собой таблицы, в которых описывается весь контент (т.е. содержимое) Вашего магазина. Таблица разбита на листы, в соответствии с тем, что Вы выбирали, какие таблицы Вы выбирали для экспорта.
 
Мы сделали полную выгрузку и у нас, соотствественно, выгрузились следующие листы:
 
Content - Информация о единице контента в магазине.
ContentType - Тип контента.
ContentProduct - Информация о товаре.
ContentCategory - Информация о категории.
ContentArticle - Информация о статье.
ContentNews - Информация о новости.
ContentDescription - Описание единицы контента.
Attribute - Атрибуты товара (спецификации, фильтры).
ContentImage - Картинки единицы контента.
 
post-1-0-12315800-1392660892_thumb.png
 
Сначала я опишу каждый лист в выгрузке, каждую колонку, для чего она предназанчена. Не пугайтесь особо деталям и не совсем понятному описание, всё не так страшно. В следующем разделе добавим новый товар и там я покажу какие колонки и как заполнять.
 
Лист Content - Информация о единице контента в магазине.
 
Содержит следующие колонки:
 
id - Порядковый номер единицы контента записи в таблице.
parent_id - Номер родителя, т.е. на примере товара, здесь указывается к какой категории относится товар.
order - Порядок сортировки.
hierarchy - Не используется на даный момент.
content_type_id - Тип контента.
template_id - Id номер шаблона.
default - Страница по умолчанию или нет.
alias - Псевдоним.
head_data - Значение <head> тэга.
active - Активен элемент или нет.
show_in_menu - Показывать в меню или нет.
yml_export - Добавлять в выгрузку для яндекс-маркет или нет.
viewed - Количество просмотров.
created - Дата создания.
modified - Дата последнего изменения.
 
Лист ContentType - Тип контента.
 
id - порядковый номер записи в таблице.
template_type_id - id номер шаблона.
name - название типа контента.
type - таблица типа контента.
 
Содержит следующие колонки:
 
Лист ContentProduct - Информация о товаре.
 
Содержит следующие колонки:
 
id - Порядковый номер записи в таблице.
content_id - Номер единицы контента (id) из таблицы content.
stock - Количество единиц товара на складе.
model - Артикул товара.
price - Стоимость товара.
tax_id - Налог.
weight - Вес товара.
moq - Не используется на даный момент.
pf - Не используется на даный момент.
ordered - Сколько единиц товара было куплено в магазине.
 
Лист ContentCategory - Информация о категории.
 
Содержит следующие колонки:
 
id - Порядковый номер записи в таблице.
content_id - Номер единицы контента (id) из таблицы content.
extra - Не используется на даный момент.
 
Лист ContentArticle - Информация о статье.
 
Содержит следующие колонки:
 
id - Порядковый номер записи в таблице.
content_id - Номер единицы контента из таблицы content.
extra - Не используется на даный момент.
 
Лист ContentNews - Информация о новости.
 
Содержит следующие колонки:
 
id - Порядковый номер записи в таблице.
content_id - Номер единицы контента из таблицы content.
extra - Не используется на даный момент.
 
Лист ContentDescription - Описание единицы контента.
 
Содержит следующие колонки:
 
id - Порядковый номер записи в таблице.
content_id - Номер единицы контента из таблицы content.
language_id - Id номер языка.
name - Название.
description - Описание.
short_description - Краткое описание.
meta_title - Значение тэга meta title.
meta_description - Значение тэга meta description
meta_keywords - Значение тэга meta keywords
 
Лист Attribute - Атрибуты товара (спецификации, фильтры).
 
Описание данного листа пока пропустим. С помощью данного листа задаются спецификации (фильтры) товаров.
 
Лист ContentImage - Картинки единицы контента.
 
Содержит следующие колонки:
 
id - Порядковый номер записи в таблице.
content_id - Номер единицы контента из таблицы content.
order - Порядок сортировка.
image - Название файла картинки.
created - Дата создания.
modified - Дата последнего изменения.
 
Теперь добавим новый товар в магзаин.
 
3. Добавление нового товара в магазин.
 
Как Вы помните, любой элемент контента состоит минимум из 3 таблиц: Content, ContentDescription + тип.
В данном примере мы будем добавлять в магазин новый товар, значит в Excel мы будем работать только со следующими листами: Content, ContentDescription + ContentProduct.
 
Добавим пробный товар в магазин:
Название товара - Рога лося.
Описание товара - Прекрасные ветвистые рога лося.
Краткое описание товара - Не проходите мимо. Успейте купить! Рога лося за полцены, только сейчас.
Цена - 9999 руб.
Вес - 10 кг.
 
Заполняем листы по порядку:
 
Content.
 
Указываем основную техническую информацию о товаре (элементе контента).
 
Значения столбцов:
 
id - Следующий порядковый номер записи в таблице. Предыдущее значение у нас 100. Значит ставим в даной колонке 101.
parent_id - Добавляем новый товар в ту же категорию, что и предыдущий, ставим 43.
order - Порядок сортировки. Ставим 0.
hierarchy - Не используется на даный момент. Ставим 0.
content_type_id - Тип контента. Ставим 2. Типы контента можно посмотреть в листе ContentType (1 - категория, 2 - товар, 3 - страница, 4 - ссылка, 5 - новость, 6 - статья).
template_id - Id номер шаблона. Ставим 1.
default - Ставим 0.
alias - Указываем здесь seo url товара. Например roga-losya
head_data - Пропускаем, оставляем колонка пустой.
active - Активен элемент или нет. Ставим 1.
show_in_menu - Показывать в меню или нет. Ставим 1.
yml_export - Добавлять в выгрузку для яндекс-маркет или нет. Ставим 1.
viewed - Количество просмотров. Ставим 0.
created - Дата создания. Добавляем дату, например: 2013-10-19 21:02:02
modified - Дата последнего изменения. Добавляем дату, например: 2013-10-19 21:02:02
 
post-1-0-43599000-1392660892_thumb.png
 
ContentDescription
 
Указываем описание товара.
 
id - Порядковый номер записи в таблице. Ставим следующее число после последней записи в таблице. Предыдущее значение у нас 798. Значит ставим в даной колонке 799.
content_id - Номер единицы контента из таблицы content. В данной колонке мы прописываем значение, которое у нас указано в листе Content, в колонке id. Ставим 101.
language_id - Id номер языка. Ставим 2. 1 - английский. 2 - русский.
name - Рога лося
description - Прекрасные ветвистые рога лося.
short_description - Не проходите мимо. Успейте купить! Рога лося за полцены, только сейчас.
meta_title - Значение тэга meta title. Пропускаем.
meta_description - Значение тэга meta description. Пропускаем.
meta_keywords - Значение тэга meta keywords. Пропускаем.
 
post-1-0-75538200-1392660893_thumb.png
 
ContentProduct
 
Указываем характеристики товара.
 
id - Порядковый номер записи в таблице. Ставим следующее число после последней записи в таблице. Предыдущее значение у нас 25. Значит ставим в даной колонке 26.
content_id - Номер единицы контента из таблицы content. В данной колонке мы прописываем значение, которое у нас указано в листе Content, в колонке id. Ставим 101.
stock - Количество единиц товара на складе. Ставим 999.
model - Артикул товара. Можно просто пропустить, если у нас нет артикула.
price - Стоимость товара. Ставим 9999. В данном колонке указывается только число, без символов валюты.
tax_id - Налог. Ставим 1.
weight - Вес товара. Ставим 10.
moq - Не используется на даный момент. Ставим 1.
pf - Не используется на даный момент. Ставим 1.
ordered - Сколько единиц товара было куплено в магазине. Ставим 0.
 
post-1-0-74630800-1392660894_thumb.png
 
Всё, мы заполнили три листа: Content, ContentDescription и ContentProduct.
 
Сохраняем файл. Например content.xls. Сохранять надо именно в формате Microsoft Excel. Никаких csv, txt и прочее. Только в родном формате xls.
 
Теперь загружает наш файл в магзаин.
 
Заходим в Админку - Содержание - Импорт/Экспорт, в закладке Импорт выбираем наш файл content.xls и нажимаем Продолжить.
 
post-1-0-67140800-1392660895_thumb.png
 
Всё, после загрузки Вы увидите сообщение, что импорт успешно завершён.
 
post-1-0-19329700-1392660896_thumb.png
 
Теперь проверим, мы добавили наш новый товар в ту же категорию, что и последний товар в таблице, последний товар был в категории Ноутбуки, заходим в Админку - Содержание - Ноутбуки и видим наш новый товар - Рога лося.
 
post-1-0-73657100-1392660896_thumb.png
 
Проверяем в каталоге. Заходим в каталог, в категорию Ноутбуки и видим наш новый товар - Рога лося.
 
post-1-0-34875900-1392660897_thumb.png
 
Вот так примерно и работает импорт/экспорт.
 
Аналогичным образом добавляется любой другой контент в магазин, т.е. категории, новости, статьи, ссылки.
 
Заполните главное, для добавления/редактирования элементов контента используется всегда как минимум 3 таблицы: Content,ContentDescription + таблица в зависимосит от типа добавляемого/редактируемого контента.
Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...