Добрый день!
Возник вопрос с кастомизацией выгрузки. Как добавить новые теги в 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();
}
}
});
|