Добрый день!
Возник вопрос с кастомизацией выгрузки. Как добавить новые теги в xml? От яндекса пришла документация
Пример «Добавление кастомных тегов и атрибутов»:
Возник вопрос с кастомизацией выгрузки. Как добавить новые теги в xml? От яндекса пришла документация
Пример «Добавление кастомных тегов и атрибутов»:
Код |
---|
use Bitrix\Main; use Yandex\Market; $eventManager = Main\EventManager::getInstance(); $eventManager->addEventHandler('yandex.market', 'onExportOfferWriteData', function(Main\Event $event) { /** @var $tagResultList Market\Result\XmlNode[] */ /** @var $elementList array */ /** @var $context array */ /** @var $parentList array */ /** @var $tagElement \SimpleXMLElement */ $tagResultList = $event->getParameter('TAG_RESULT_LIST'); $elementList = $event->getParameter('ELEMENT_LIST'); $context = $event->getParameter('CONTEXT'); $parentList = $event->getParameter('PARENT_LIST'); foreach ($tagResultList as $elementId => $tagResult) { if ($tagResult->isSuccess()) { $tagNode = $tagResult->getXmlElement(); $element = $elementList[$elementId]; $parent = null; $tagNode->addChild('setup_id', $context['SETUP_ID']); $tagNode->addChild('offer_id', $element['ID']); if (isset($element['PARENT_ID'])) { $parent = $parentList[$element['PARENT_ID']]; $tagNode->addChild('offer_id', $parent['ID']); } $tagNode->addAttribute('custom', 'Y'); $tagResult->invalidateXmlContents(); } } }); |