close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
ОПИСАНИЕ ФОРМАТА ДЛЯ ИМПОРТА ДАННЫХ В
СВЕРХМАРКЕТ
1. Структура файла
1. Каталог категорий
2. Список товаров (в котором отмечено соответствие товар-категория)
3. Описание списка шаблонов визуализации
4. Описание списка складов
5. Описание наличия на складе
Любая из этих секций может отсутствовать
2. Требования к загружаемому файлу
Файл, предоставляемый на сайт, может состоять из одного XML файла
или zip архива. В ZIP архиве должен быть только один файл с расширением
XML. В ZIP архиве в корне могут находиться дополнительные файлы.
Пример структуры архива:
Info.xml
1.jpg
Image2.jpg
Image3.jpg
Т.е. в архиве 4 файла – один XML файл и все остальные – не XML
файлы.
Кодировка файла должна быть utf-8
Каталог категорий может изменять только администратор.
Структура файла (часть каталога категорий), который он должен
загрузить на сервер, представлена ниже (2 варианта, оба правильные)
3. Список товаров
Структура файла (Список товаров) представлена ниже (оба варианта
правильные):
1 вариант описания товара
<?xml version="1.0" encoding="utf-8" ?>
<root>
<Goods>
<Good Название.name="Supra STV-LC16810WL" Цена.cost="30350"
Краткое_описание.shortDescription="Миниатюрная ЖК-панели"
Описание.description="Миниатюрная ЖК-панели" Вес.weight="78"
Ценный.cargoRegistered="False" shippingDate="5"
Виртуальный.isVirtual="False" Изображение.image="1.jpg"
Категории.categories="Телевизоры" Размер="25.6*37.2*4" Звук="NICAM
стерео" Экран="1920x1080 Пикс (FullHD)" Диагональ="15.6(39.6
см)">
<group title="Основные характеристики" value="Звук, Экран,
Диагональ " />
</Good>
</Goods>
</root>
Описание формата.
Корневым элементом является элемент root, в который вложен элемент
Goods (Товары). В элементе Goods есть множество элементов Good (Товар).
Список обязательных встроенных атрибутов:
1.
article – артикул товара
2.
Название.name – название товара (не более 4000 символов)
3.
Цена.cost – цена товара
4.
Ценный.cargoRegistered – ценный груз или не ценный
5.
Изображение.image – относительный путь в zip-архиве к файлу с
главным изображением товара
6.
Категории.categories – имена категорий, разделенных символом «|»,
в которые входит данный товар
7.
Краткое_описание.shortDescription – краткое описание (не более 600
символов)
8.
Описание.description – полное описание
Список необязательных встроенных атрибутов:
1.
Виртуальный.isVirtual – виртуальный товар или нет (т.е. необходимо
его доставлять с помощью логиста (тогда значение должно быть
False) или нет). По умолчанию определяется значением False.
2.
shippingDate
–
срок
отгрузки
товара.
По
умолчанию
для
виртуального товара ставится 0, для невиртуального – 5.
3.
integerUnit – целые единицы измерения товара (флаг True/False). По
умолчанию определяется значением False.
4.
Вес.weight – вес (в килограммах). По умолчанию ставится 0.
Названия встроенных атрибутов не могут быть изменены и должны
задавать в том виде, который приведен выше.
Помимо встроенных атрибутов товар может иметь свободно задаваемые
атрибуты (в примере это «Размер», «Звук», «Экран», «Диагональ»). Название
таких атрибутов задается произвольно, но не должно совпадать с названиями
из следующего списка:
- «Название»,
- «Виртуальный»,
- «Цена»,
- «Описание»,
- «Категории»,
- «Изображение»,
- «Вес»,
- «Ценный»,
- «Краткое описание»,
- «Краткое_описание»,
- «Артикул»,
- «integerUnit»,
- «shippingDate»,
- «article»,
- «firmId».
Пробелы в названии свободного атрибута должны быть заменены на
подчеркивания. Например, атрибут «Потребляемая мощность» следует
писать как «Потребляемая_мощность».
Для свободных атрибутов необходимо задать группы отображения,
иначе они не будут доступны для просмотра на карточке товара. Группы
отображения задаются с помощью дочерних по отношению к элементу Good
элементов group. В каждом из них есть атрибут title (название части таблицы,
которое будет выведено пользователю) и атрибут value, в котором через
запятую перечислены строки таблицы те свободно задаваемые атрибуты
товара, которые будут отображаться в данной группе. Обращаем внимание,
что свободно задаваемый атрибут товара не может быть включен более чем в
одну группу отображения. Пример детальной карточки товара для
приведенного выше товара показан на рис. 1.
Рис. 1. Детальная карточка товара, загруженного из XML
Указание файла виртуального товара
Если загружаемый товар помечен как виртуальный, то в элементе Good
должен быть задан дочерний элемент contentFile с атрибутом name –
относительный путь к файлу товара в архиве.
Пример формата описания виртуального файла:
<?xml version="1.0" encoding="utf-8"?>
<Good article="g37" Название.name="Виртуальный товар"
firmId="Электроника" Вес.weight="0" Цена.cost="400"
Описание.description="Виртуальный товар для тестов"
Ценный.cargeResitered="False" Виртуальный.isVirtual="True"
Изображение.image="disc.png" Категории.categories="Телевизоры"
Производитель="Неизвестен" Длительность="80 мин."
Исполнители="Various artists"
Количество="20">
<group title="Информация"
value="Производитель,Длительность,Исполнители"/>
<images>
<imageMain title="Общий вид" description="Диск" />
</images>
<contentFile name="virtualGood.zip"/>
</Good>
Указание нескольких изображений у товара
Если у товара должно быть несколько изображений (или требуется
задать более подробные характеристики главного изображения), то у
элемента Good может быть дочерний элемент Images, в котором может быть
множество элементов image и один элемент imageMain.
У элемента imageMain могут быть атрибуты title (заголовок), description
(описание).
У элемента image должен быть атрибут file (относительный путь к файлу
с дополнительным изображением в zip-архиве) и могут быть атрибуты title
(заголовок) и description (описание)
Пример формата описания товара:
<Good Название.name="Supra STV-LC16810WL" Фирма.firmId="Atlant"
shippingDate="5"
Цена.cost="30350" Краткое_описание.shortDescription="Миниатюрная
ЖК-панели" Описание.description="Миниатюрная ЖК-панели"
Вес.weight="78" Ценный.cargoRegistered="False"
Виртуальный.isVirtual="False" Изображение.image="1.jpg"
Категории.categories="Телевизоры" Размер="25.6*37.2*4" Звук="NICAM
стерео"
Экран="1920x1080 Пикс (FullHD)" Диагональ="15.6(39.6 см)">
<group title="Основные характеристики" value="Звук, Экран,
Диагональ " />
<images>
<imageMain title="Общий вид" description="Это подробное
описание картинки" />
<image file="2.jpg"/>
<image file="3.jpg" title="Вид сверху" description="Это
описание картинки" />
<image file="4.jpg" title="Вид сбоку"/>
<image file="5.jpg" title="Электронная панель"/>
<image file="6.jpg" title="В работе"/>
<image file="7.jpg" title="Упакованный"/>
<image file="8.jpg" title="Промо"/>
</images>
</Good>
Указание шаблона визуализации
Если у товара должен быть специальный шаблон визуализации, то
элемент good должен иметь атрибут cardTypeId, в котором указывается
название шаблона. Пример описания файла:
<Good article="g10" Название.name="ASUS K53Sd"
cardTypeId="Светлый" Вес.weight="1,32" Цена.cost="24999"
Краткое_описание.shortDescription="Ноутбук Asus K53Sd —
универсальный лэптоп серии «K», созданный для работы и
развлечений. Модель имеет строгий солидный корпус с прочным
покрытием. Он готов к интенсивной ежедневной эксплуатации и не
потеряет свой привлекательный внешний вид. Asus K53Sd оснащен
мощным четырехъядерным процессором Intel Core i7-2630QM, 4 Гб
оперативной памяти и вместительным винчестером на 500 Гб. В модели
установлена дискретная графическая карта nVidia GeForce 610M с
видеопамятью объемом 2 Гб, позволяющая смотреть HD-фильмы,
запускать современные компьютерные игры и мультимедийные
приложения."
Описание.description="Ноутбук Asus K53Sd — универсальный лэптоп
серии «K», созданный для работы и развлечений. Модель имеет
строгий солидный корпус с прочным покрытием. Он готов к
интенсивной ежедневной эксплуатации и не потеряет свой
привлекательный внешний вид. Asus K53Sd оснащен мощным
четырехъядерным процессором Intel Core i7-2630QM, 4 Гб оперативной
памяти и вместительным винчестером на 500 Гб. В модели установлена
дискретная графическая карта nVidia GeForce 610M с видеопамятью
объемом 2 Гб, позволяющая смотреть HD-фильмы, запускать
современные компьютерные игры и мультимедийные приложения."
Ценный.cargoRegistered="True" Виртуальный.isVirtual="False"
Изображение.image="ASUS K53SD.gif"
Категории.categories="Ноутбуки|Компьютерная техника"
Размер="3.5*25.3*37.8"
Наименование="Windows 7 Домашняя базовая" Диагональ="15,6
дюйма" Разрешение="1366x768 Пикс" Формат="16:9"
Поверхность="Глянцевая" LED-подсветка="Есть"
Производитель="Intel" Модель="Core i7-2630QM" Частота="2.2
ГГц" Кэш-L2="3 Мб"
Объем="4 Гб" Тип="DDR3"
Динамики="встроенные"
Wi-Fi="Есть" Bluetooth="Есть" Кард-ридер="SD, MMC"
Микрофон="Есть" Web-камера="0,3 Мпикс"
USB="2"
Время="4 ч" Аккумулятор="Li-Pol"
Высота="3.5 см" Глубина="25.3 см" Ширина.width="37.8 см"
integerUnit="True" shippingDate="5"
>
<group title="Операционная система" value="Наименование"/>
<group title="Экран"
value="Диагональ,Разрешение,Формат,Поверхность,LED-подсветка"/>
<group title="Процессор"
value="Производитель,Модель,Частота,Кэш-L2"/>
<group title="Оперативная память" value="Объем,Тип"/>
<group title="Звук" value="Динамики"/>
<group title="Встроенное оборудование" value="WiFi,Bluetooth,Кард-ридер,Микрофон,Web-камера"/>
<group title="Интерфейсы" value="USB "/>
<group title="Питание" value="Время,Аккумулятор"/>
<group title="Габариты" value="Высота,Глубина, Ширина"/>
<Related article="g9" />
<Related article="g11" />
<Related article="g12" />
<Recomendated article="g13" />
<Recomendated article="g9" />
<Recomendated article="g14" />
</Good>
Указание рекомендованных товаров
Рекомендованные товары для текущего указываются через множество
дочерних элементов Recomendated, которые имеют атрибут article – артикул
рекомендованного товара (в качестве примера может служить приведенный
выше пример)
Указание сопутствующих товаров
Сопутствующие товары для текущего указываются через множество
дочерних элементов Related, которые имеют атрибут article – артикул
сопутствующего товара (в качестве примера может служить приведенный
выше пример)
Указание товарной позиции
Если у товара при заказе пользователь может указывать какую-либо
товарную позицию (например «размер» при заказе маек), то товарная
позиция должна быть указана в элементе GoodPosition, который находится
внутри элемента Good. Элемент GoodPosition имеет атрибут name – название
позиции,
которое
значения
товарной
будет
визуализировано
позиции
указываются
пользователю.
в
дочерних
Возможные
элементах
GoodPositionValue, каждый из которых имеет атрибут value – возможное
значение товарной позиции
<GoodPosition name="Размер">
<GoodPositionValue value="42"/>
<GoodPositionValue value="44"/>
<GoodPositionValue value="46"/>
<GoodPositionValue value="48"/>
<GoodPositionValue value="50"/>
</GoodPosition>
Указание прилагаемых файлов
Для товара можно загружать прилагаемые файлы (напр. драйверы,
руководства и т.п.). Элемент attachments должен находиться внутри элемента
Good. Файлы указываются в дочерних элементах file, каждый из которых
имеет атрибут name – название прилагаемого файла в загружаемом архиве и
title – название файла, которое будет отображаться пользователю на странице
товара.
<attachments>
<file name="Doc_CE_K53E_K53S.pdf" title="Декларация
соответствия ЕС"/>
<file name="K53SDAS205.zip" title="Обновление для BIOS"/>
</attachments>
Указание скидок по числу товара
Для товара можно загружать скидки, зависящие от числа покупаемого
товара. Элемент discounts должен находиться внутри элемента Good. Скидки
указываются в дочерних элементах discount, каждый из которых имеет
атрибут count – количество товара, – и size – размер скидки в процентах.
<discounts>
<discount size="3" count="10"/>
<discount name="7" title="30"/>
</discounts>
2 вариант описания товара
<?xml version="1.0" encoding="utf-8" ?>
<root>
<Goods>
<Good>
<GoodAttr name="article" displayName="Артикул"
value="art11" />
<GoodAttr name="name" displayName="Название" value="Supra
STV-LC16810WL" />
<GoodAttr name="cost" displayName="Цена" value="30350" />
<GoodAttr name="shortDescription" displayName="Краткое
описание" value="Миниатюрная ЖК-панели" />
<GoodAttr name="description" displayName="Описание"
value="Миниатюрная ЖК-панели" />
<GoodAttr name="weight" displayName="Вес" value="78" />
<GoodAttr name="cargoRegistered" displayName="Ценный"
value="False" />
<GoodAttr name="shippingDate" displayName="Срок отгрузки"
value="5" />
<GoodAttr name="isVirtual" displayName="Виртуальный"
value="False" />
<GoodAttr name="image" displayName="Изображение"
value="1.jpg" />
<GoodAttr name="categories" displayName="Категории"
value="Телевизоры" />
<GoodAttr name="integerUnit" displayName="Целые единицы
измерения" value="True" />
<GoodAttr name="sound" displayName="Звук"
groupTitle="Основные характеристики" value="NICAM стерео" />
<GoodAttr name="screen" displayName="Экран"
groupTitle="Основные характеристики" value="1920x1080 Пикс
(FullHD)" />
<GoodAttr name="diagonal" displayName="Диагональ"
groupTitle="Основные характеристики" value="15.6(39.6 см)"/>
</Good>
</Goods>
</root>
Каждый атрибут товара (и встроенный, и свободно задаваемый)
описывается в GoodAttr. Каждый GoodAttr имеет name (внутреннее имя,
которое не может содержать пробелов, а может состоять только из букв и
подчеркиваний),
displayName
–
имя,
которое
будет
отображаться
пользователю, value – значение атрибута. Отображаемое название атрибута
должно быть уникальным в рамках одного товара. Свободно задаваемые
атрибуты товара должны иметь атрибут groupTitle – заголовок группы, к
которой относится данный атрибут. В случае отсутствия этого атрибута
вывод данной характеристики на детальной карточке товара будет
невозможен. Встроенные атрибуты не должны иметь атрибут groupTitle, т. к.
их визуализация на карточке товара зашита в систему. Список встроенных
атрибутов приведен в табл. 1.
Таблица 1
Список встроенных атрибутов товара
Название атрибута (name)
Визуальное имя (displayName)
article
Артикул
name
Название (не более 4000 символов)
cost
Цена
shortDescription
Краткое описание (не более 600
символов)
description
Описание
weight
Вес
cargoRegistered
Ценный
shippingDate
Срок отгрузки
isVirtual
Виртуальный
image
Изображение
categories
Категории
integerUnit
Целые единицы измерения
Названия встроенных атрибутов не могут быть изменены и должны
задавать в том виде, который приведен в табл. 1.
Обязательность и значения по умолчанию для встроенных атрибутов не
отличаются от первого варианта описания товара.
Указание файла виртуального товара
Аналогично первому варианту описания.
Указание нескольких изображений у товара
Аналогично первому варианту описания.
Указание шаблона визуализации
Аналогично первому варианту описания.
Настройка отображения товара в виде списка
Аналогично первому варианту описания.
Указание рекомендованных товаров
Аналогично первому варианту описания.
Указание сопутствующих товаров
Аналогично первому варианту описания.
Указание товарной позиции
Аналогично первому варианту описания.
Указание прилагаемых файлов
Аналогично первому варианту описания.
Указание скидок по числу товара
Аналогично первому варианту описания.
4. Редактирование товара
Для редактирования товара с помощью загрузки файла необходимо
загрузить каталог с товарами в систему. В случае, если товар в файле имеет
артикул, который уже присвоен ранее добавленному товару в базе данных,
будет
произведено
не
добавление
товара
из
файла,
а
изменение
существующего товара. При этом на редактирование товаров, которые уже
были добавлены пользователями в корзину или в избранное или в список
наблюдения, действуют следующие ограничения:
1.
Запрещено изменение значений полей: название, артикул,
ценный, виртуальный, вес, целые единицы изменения.
2.
Запрещено добавление товарной позиции.
При нарушении какого-либо из этих ограничений будет выдано
сообщение об ошибке, и данные из файла не будут применены.
При
редактировании
товара
через
файл
прилагаемые
файлы
добавляются к уже имеющимся прилагаемым файлам.
Если при редактировании товара не указан атрибут категорий, то
имеющиеся привязки товара будут сохранены. Если указан атрибут
категорий с пустым значением, то имеющиеся привязки товара будут
удалены.
5. Описание списка шаблонов визуализации
Список шаблонов визуализации задается в элементе CardTypes, который
находится в корневом элементе.
Элемент
CardTypes может иметь множество дочерних элементов
CardType, каждый из которых должен иметь атрибут name (имя шаблона),
fileContent (имя файла шаблона), description (описание шаблона). В атрибуте
fileContent должно находиться имя файла с шаблоном
<?xml version="1.0" encoding="utf-8" ?>
<root>
<CardTypes>
<CardType name="Темный" fileContent="dark.cshtml"
description="Темное выделение информации о товаре" />
<CardType name="Светлый" fileContent="light.cshtml"
description="Светлое выделение информации о товаре" />
</CardTypes>
</root>
Пример содержимого файла dark.cshtml. Содержимым является файл
cshtml, который составлен по правилам синтаксиса ASP.NET MVC 3 для
механизма визуализации Razor.
@using sber_market.Models;
@using sber_market.Utils
@model sber_market.Models.GoodModel
@{
Layout = "";
}
<li class="GoodWithImage" id="@Model.id" style="border: 2px solid
#59a213;">
<div class="imgDiv">
<a href="[email protected]" class="icons">
<img id="@String.Format("MainGoodImageIfForTest{0}",
@Model.id)" class="icons" src="@Model.mainImageUrl" />
</a>
</div>
@if (Model.inWishList == false) {
Html.RenderPartial("StarRating", Model);
}
<div class="descriptionGood descriptionGood_dark">
<div class="label-under-img">
@Html.HiddenFor(p => p.id)
@Html.DisplayTextFor(p => p.name)
</div>
<div class="goodCost" style="float:
right">@String.Format("{0:C}", Model.cost)</div>
</div>
</li>
6. Описание списка складов
Функционал загрузки складов из файла недоступен, начиная с версии
1.53.6.
7. Описание наличия на складе
Наличие товаров на складе указывается в элементе GoodsOnStores. Этот
элемент имеет множество дочерних элементов GoodsOnStore, каждый из
которых имеет атрибут store (название склада), goods (название товара), count
(количество товара). Вместо атрибута goods (название товара) может быть
задан атрибут article (артикул товара). Количество товара не может быть
отрицательным. Также элементы GoodsOnStore могут иметь атрибут position,
который указывает значение товарной позиции.
<?xml version="1.0" encoding="utf-8" ?>
<root>
<GoodsOnStores>
<GoodsOnStore store="склад3" article="g9" count="100"/>
<GoodsOnStore store="склад3" article="g37" count="100"/>
<GoodsOnStore store="склад3" article="g29" position="42"
count="10"/>
<GoodsOnStore store="склад3" article="g29" position="44"
count="8"/>
<GoodsOnStore store="склад3" article="g29" position="50"
count="2"/>
<GoodsOnStore store="склад3" goods="Телевизор цветной"
count="22"/>
</GoodsOnStores>
</root>
1/--страниц
Пожаловаться на содержимое документа