wagood / commerceml
Library for CommerceML 2.0 parser
dev-master
2023-10-06 12:26 UTC
Requires
- php: >=8.0
- ext-simplexml: *
- ext-xmlreader: *
- symfony/event-dispatcher: >=6.0
Requires (Dev)
- codeception/codeception: dev-master
This package is auto-updated.
Last update: 2025-05-06 15:54:19 UTC
README
Оригинал
Форк библиотеки commerceml. Обновлено для работы с PHP v.8+, Symfony Event Dispatcher v.6+
О библиотеке
Данная библиотека предназначена для поточного разбора выгруженных из 1с файлов по стандарту Commerce ML 2.
Сам парсер представляет собой диспетчер событий, т.е. при нахождении в структуре Commerce ML 2 объекта нужной структуры, диспетчером вызывается определенной событие и в него передается уже сформированные по модельной структуре объект.
На данный момент существует 7 основных событий:
- получение Владельца;
- получение Категории;
- получение Предложения;
- получение Категории Цен;
- получение Склада;
- получение Товара;
- получение Свойства товара.
Простое использование парсера:
// Создание экземпляра класса парсера $parser = \CommerceMLParser\Parser::getInstance(); // добавление функции обработки события CategoryEvent $parser->addListener("CategoryEvent", function (\CommerceMLParser\Event\CategoryEvent $event) { $categories = $event->getFlatCategories(); // get collection of Category's }); // добавление функции обработки события ProductEvent $parser->addListener("ProductEvent", function (\CommerceMLParser\Event\ProductEvent $event) $product = $event->getProduct(); // get one Product Model }); $parser->parse($pathToImportXmlFile); // полный путь до файла import.xml (Commerce ML 2) выгрузки из 1с $parser->parse($pathToOfferXmlFile); // полный путь до файла offer.xml (Commerce ML 2) выгрузки из 1с