support 447 Опубликовано 17 февраля, 2014 Жалоба Share Опубликовано 17 февраля, 2014 Импорт/экспорт в VamShop 2. Сразу предупреждаю, этот модуль не для слабых духом :what: В том смысле, что импорт/экспорт через excel, скажем так, не для начинающего пользователя. Хоть я и старался описать всё максимально подробно и понятно простому пользователю, но, всё-таки, код писали программисты с немного отличным от простого пользователя мышлением, так что, готовьтесь, мне, как не программисту и обычному пользователю, тоже было сложно разобраться, что к чему, но у меня получилось, надеюсь, получится и у Вас. :dad: В VamShop 2 можно выгружать контент (содержимое) магазина в Excel (OpenOffice, Google Spreadsheet, в любую программу для электронных таблиц, сохраняется всё в xls файл), а так же добавлять новый контент (товары, категории, статьи, новости и т.д.) с помощью Excel (xls файла). В данной статье я расскажу про общий принцип работы импорта/экспорта, покажу пример добавления нового товара в магазин на базе VamShop 2 через Excel. 1. Экспорт. 2. Описание файла с данными. 3. Добавление нового товара в магазин. 4. Импорт файла с данными в магазин. 1. Экспорт. Итак, выгрузка находится в Админке - Содержание - Импорт/экспорт. Заходите в данный раздел. Вы увидите две закладки: Импорт - для импортирования (загрузки) файла с данными в магазин. Экспорт - для экспортирования (выгрузки) файлы с данными из магазина. Начнём с экспорта. Заходим в закладку Экспорт и отмечаем "птичками" все данные для выгрузки и нажимаем Продолжить - рис. 1. Мы отмечаем данные, которые будут выгружены из магазина в файл. Перед описанием каждой выгружаемой таблицы, давайте договоримся, что любой элемент в магазине (страница, товар, категория, статья, новость, ссылка) будем называть единицей контента. Мы можем выгружать следующие таблицы (данные) 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. Вы видите перед собой таблицы, в которых описывается весь контент (т.е. содержимое) Вашего магазина. Таблица разбита на листы, в соответствии с тем, что Вы выбирали, какие таблицы Вы выбирали для экспорта. Мы сделали полную выгрузку и у нас, соотствественно, выгрузились следующие листы: Content - Информация о единице контента в магазине. ContentType - Тип контента. ContentProduct - Информация о товаре. ContentCategory - Информация о категории. ContentArticle - Информация о статье. ContentNews - Информация о новости. ContentDescription - Описание единицы контента. Attribute - Атрибуты товара (спецификации, фильтры). ContentImage - Картинки единицы контента. Сначала я опишу каждый лист в выгрузке, каждую колонку, для чего она предназанчена. Не пугайтесь особо деталям и не совсем понятному описание, всё не так страшно. В следующем разделе добавим новый товар и там я покажу какие колонки и как заполнять. Лист 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 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. Пропускаем. 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. Всё, мы заполнили три листа: Content, ContentDescription и ContentProduct. Сохраняем файл. Например content.xls. Сохранять надо именно в формате Microsoft Excel. Никаких csv, txt и прочее. Только в родном формате xls. Теперь загружает наш файл в магзаин. Заходим в Админку - Содержание - Импорт/Экспорт, в закладке Импорт выбираем наш файл content.xls и нажимаем Продолжить. Всё, после загрузки Вы увидите сообщение, что импорт успешно завершён. Теперь проверим, мы добавили наш новый товар в ту же категорию, что и последний товар в таблице, последний товар был в категории Ноутбуки, заходим в Админку - Содержание - Ноутбуки и видим наш новый товар - Рога лося. Проверяем в каталоге. Заходим в каталог, в категорию Ноутбуки и видим наш новый товар - Рога лося. Вот так примерно и работает импорт/экспорт. Аналогичным образом добавляется любой другой контент в магазин, т.е. категории, новости, статьи, ссылки. Заполните главное, для добавления/редактирования элементов контента используется всегда как минимум 3 таблицы: Content,ContentDescription + таблица в зависимосит от типа добавляемого/редактируемого контента. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения