wagood / commerceml
CommerceML 2.0 解析库
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: 2024-09-06 14:27:08 UTC
README
原始
基于库 commerceml 的分支。更新为支持 PHP v.8+、Symfony Event Dispatcher v.6+。
关于库
此库旨在对按 Commerce ML 2.0 标准导出的 1C 文件进行流式解析。
解析器本身是一个事件调度器,即当在 Commerce ML 2.0 结构中找到所需结构的对象时,调度器会调用相应的事件,并将根据模型结构已形成的对象传递给它。
目前存在 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с