Транспортный файл представляет собой обычный текстовый файл, который может быть создан и отредактирован в любой подходящей программе (Блокнот), Чаще всего и удобнее готовить транспортный файл в табличных процессорах типа MS Excel.
Данные о товарах в транспортном файле должны храниться в формате CSV, при этом разделителем ячеек таблицы должен служить символ табуляции (Tab), ограничителем текста должен служить символ апостроф (‘). Данные в транспортном файле должны использовать кодировку win-1251.
Транспортный файл состоит из строк четырех видов:
- Комментарий
- Секция
- Товара
- Цена и/или атрибут
Комментарий
Комментарием считается любая строка, в первом символе которой находится символ решетки (#). При загрузке комментарий пропускается так, как будто его в файле нет.
Секция
Секция – это строка, у которой в первой колонке не пустое значение, и она не является комментарием. При этом в колонках строки секции должна или может быть следующая информация:
Колонка | Назначение | Обязательно | Тип |
---|---|---|---|
A | Внутреннее имя | Нет | Строковый |
B | Название | Да | Строковый |
C | Описание | Нет | Строковый |
D | Изображение | Нет | Строковый |
При обработке транспортного файла пакетный загрузчик, обнаружив строку с названием секции, должен относить все последующие строки с товарами к этой секции до тех пор, пока не обнаружит следующую строку секции или не достигнет конца файла.
Строка секции нужна только в том случае, если требуется изменить какие-то из ее параметров или требуется добавить новые товары в существующую секцию.
Если загрузчик не обнаруживает секцию с указанным названием, то он выдает сообщение об ошибке.
Товар
Товар – это строка, у которой в первой колонке (A) пустое значение, а во второй (B) не пустое. При этом в колонках строки товара должна и/или может быть следующая информация:
Колонка | Назначение | Обязательно | Тип |
---|---|---|---|
A | Пусто | Да | |
B | Артикул | Да | Строковый |
C | Остаток | Нет | Целочисленный |
D | Номер по каталогу | Нет | Строковый |
E | Название | Нет | Строковый |
F | Описание | Нет | Строковый |
При обработке транспортного файла пакетный загрузчик, обнаружив строку товара, должен относить все последующие строки цен и атрибутов к этому товару до тех пор, пока не обнаружит следующую строку товара, следующую строку секции или не достигнет конца файла.
Строка товара нужна в том случае, если требуется изменить какие-то из его параметров (характеристик, цен или атрибутов) или требуется добавить новый товар в существующую секцию.
Если загрузчик в указанной ранее секции находит товар с указанным артикулом, то он обновляет все данные товара.
Если загрузчик не обнаруживает товар с указанным артикулом в указанной выше секции, то он его туда добавляет, но если товар с таким артикулом уже есть в другой секции, то выдает сообщение об ошибке.
Если перед строкой товара нет ни одной строки секции, то товары относятся к корневой секции.
Цена или атрибут – это строка, у которой две первые колонки (A и B) пусты, а третья (C) не пуста. При этом в колонках строк с ценой или атрибутом может быть следующая информация:
Цена или атрибут
Колонка | Назначение | Обязательно | Тип |
---|---|---|---|
A | Пусто | Да | |
B | Пусто | Да | |
C | Внутреннее имя | Да | Строковый |
D | Значение | Нет | Тип должен совпадать с типом (цены или атрибута) |
Строки с ценой, относящиеся к указанному ранее в транспортном файле товару, не обязательны, если этот товар уже присутствует в каталоге товаров. При отсутствии строк с ценой цена товара не меняется.
Если товар новый или в каталоге товаров цена не указана (или равна 0), то в транспортном файле должна быть одна строка, как минимум. Если в этом случае в транспортном файле цена не указана, то пакетный загрузчик должен выдать сообщение об ошибке.
Надо или нет обеспечивать загрузку цены, должно регулироваться параметром. Для разрабатываемого интернет-магазина параметр устанавливается в положение «Обязательно».
Строки с атрибутами, относящиеся к указанному ранее в транспортном файле товару, не обязательны. Если товар уже существует в каталоге, то отсутствующие атрибуты не меняются. Если товар новый, то отсутствие строки для того или иного атрибута должно приводить к записи пустого значения в параметры товара.
Если внутреннее имя атрибута или цены не может быть применено к товару в указанной выше секции, то пакетный загрузчик выдает сообщение об ошибке.
Типы атрибутов
Система управления сайтом и интернет-магазином поддерживает следующие типы атрибутов товаров:
- Целочисленный
- Дробный
- Дата
- Перечисление
- Строковый
- Булевый
- Файл-картинка
- Ссылка
В разрабатываемом интернет-магазине используются только те типы атрибутов, которые были указаны выше.
Пример транспортного файла.
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Люстры | ||||
2 | 09210302 | Люстра Wunderlight Special View | 9700 | подвесной потолочный светильник, предназначенный для создания бестеневого освещения | |
3 | Категория | Люстра | |||
4 | Тип | Подвесная | |||
5 | Стиль | Классика | |||
6 | Производитель | Wunderlight | |||
7 | Площадь освещения | До 10 кв. м. | |||
8 | Тип лампочек | Накаливания (E14,E27) | |||
9 | Размеры | 560x302 | |||
10 | Мощность | 220 В | |||
11 | Цвет арматуры | Синий | |||
12 | Материал арматуры | Аллюминий | |||
13 | Цвет абажюра/плафона | Синий | |||
14 | Страна-изготовитель | Италия | |||
15 | Хит | Да | |||
16 | Акция | Нет | |||
17 | Новинка | Нет | |||
18 | url | /lustri/ | |||
19 | Старая цена | 15000 |
Значениями атрибутов Хит, Акция и Новинка могут являться только два значения Да или Нет, т.к. им в системе управления присвоен тип boolean.
Значением атрибута товара url является адрес раздела, в котором после обработки транспортного файла создается подраздел с блоком «Список товаров». При отбирает товар по значению артикула. При создании такому подразделу присваивается свойство «Активная ссылка».
Дополнительные атрибуты для товаров могут добавляться в системе управления администратором сайта самостоятельно и по своему усмотрению. Атрибуты добавленные в транспортном файле должны совпадать с атрибутами в системе управления.
Запуск загрузки транспортного файла осуществляется в системе управления сайтом в разделе «Загрузчик»
После обработки транспортного файла в разделе загрузчик должен отображаться лог-файл последней загрузки сообщающий об успешности загрузки товаров и/или ошибках возникших в процессе загрузки. Каждую строку с ошибкой необходимо отмечать цветом #f4a460.
Обрабатываемые ошибки:
- Отсутствует секция
- Недопустимые символы в ячейках
- Цена меньше 0
- Неверная кодировка файла
- Товар не создан в разделе.