YML

Стандарт YML (Yandex Market Language) разработан Яндексом и основан на стандарте XML

Небольшой файл до 30MB формата YML можно загрузить штатными средствами через База - Импорт данных. Для загрузки YML следует выбрать в настройках тип файла - Яндекс (YML), кодировка текста - UTF-8.

YML файл будет переведен автоматически в формат CSV и загружен с колонками "Артикул", "Наименование", "Краткое описание", "Большое изображение", "Подробное описание", "Склад", "Цена 1", "Вес", "ISO", "Каталог", "Характеристики", "Штрихкод", "Подтип", "Подчиненные товары", "Цвет", "Старая цена", "Длина", "Ширина", "Высота". В режиме сопоставления полей можно будет отключить обработку ненужных полей.

Подтипы

Если используются группы товаров (размеры, цвет и т.д.), влияющие на цену и остаток, то следует включить режим обработки Подтипов в меню Настройки - Документооборот.

Каталоги

Если импорт данных осуществляется с сервисов конструкторов сайтов (Tilda, InSales и т.д.), то необходимо увеличить размерность полей ID каталогов, для это в меню База - SQL запрос к базе следует выполнить команду:

ALTER TABLE `phpshop_categories` CHANGE `id` `id` BIGINT(33) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `phpshop_categories` CHANGE `parent_to` `parent_to` BIGINT(33) NOT NULL DEFAULT '0';
ALTER TABLE `phpshop_products` CHANGE `category` `category` BIGINT(33) NULL DEFAULT '0';

Возможность обрабатывать большие файлы формата YML зависит от тарифа хостинга и количества выделяемой памяти для работы сайта. Большие файлы формата YML можно импортировать через отдельную бесплатную утилиту PriceLoader, Q-Parser или через скрипт YML2CSV.

YML2CSV

С помощью консольного скрипта yml2csv.php можно обработать большие YML файлы более 30MB для сохранения YML файла в формат CSV и последующего использования его штатными средствами через База - Импорт данных. Скрипт yml2csv является частью модуля Задачи.

Формат запуска:

php phpshop/modules/cron/sample/yml2csv.php "https://example.ru/file.xml" outfile

В качестве первого аргумента нужно указать полный адрес YML-файла, во втором outfile указывается по желанию префикс результирующего файла csv (для одновременной обработки разных источников).

После выполнения скрипта в папке /phpshop/admpanel/csv/ будут созданы файлы товаров product.yml.csv и каталогов category.yml.csv

Запускать можно как через Терминал консоли, так и добавить задачу в Cron для периодической обработки YML-файла для обновления цен или остатков.

Last updated