В маркетплейса Битркиса есть модуль https://marketplace.1c-bitrix.ru/solutions/yandex.market/ который подготавливает прайс-лист для Маркета и Беру.
Задача: наличие товара задается в дополнительном св-ве, а не используется стандартный функционал Битрикса, нужно испольуя это свойство корректно заполнить прайс
Для этого в настройках модуля, в сопоставлении полей полю available сопоставляем наше свойство. При отсутсвии товара, в свойстве передается значение Под заказ
В init.php добавляем следующий обработчик:
use Bitrix\Main;
use Yandex\Market;
$eventManager = Main\EventManager::getInstance();
$eventManager->addEventHandler('yandex.market', 'onExportOfferExtendData', function(Main\Event $event) {
/** @var $tagValueList Market\Result\XmlValue[] */
$tagValueList = $event->getParameter('TAG_VALUE_LIST');
foreach ($tagValueList as $elementId => $tagValue)
{
$available = $tagValue->getTagAttribute('offer', 'available');
if($available == 'Под заказ'){
$tagValue->setTagAttribute('offer', 'available', 0);
}
}
});
