Если при экспорте товаров в Яндекс.Маркет хочется исключить товары, у которых доступное количество равно нулю, то придется кастомизировать выгрузку. Для этого необходимо заменить скрипты-заглушки yandex_run.php и yandex_setup.php в каталоге /bitrix/php_interface/include/catalog_export на соответствующие оригиналы скриптов из каталога /bitrix/modules/catalog/load:
1 2 3 |
$ move ./bitrix/modules/catalog/load/yandex_run.php ./bitrix/php_interface/include/catalog_export $ move ./bitrix/modules/catalog/load/yandex_setup.php ./bitrix/php_interface/include/catalog_export |
А затем в скрипте yandex_run.php (примерно в районе 747 строки) добавить условие на ненулевое доступное количество $arAcc['CATALOG_QUANTITY'] == 0
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$total_sum = 0; $is_exists = false; $cnt = 0; while ($obElement = $res->GetNextElement()) { $cnt++; $arAcc = $obElement->GetFields(); // **************** новый код **************** if ($filterAvailable && $arAcc['CATALOG_QUANTITY'] == 0) { $cnt--; continue; } // **************** конец нового кода **************** if (is_array($XML_DATA['XML_DATA'])) { $arAcc["PROPERTIES"] = $obElement->GetProperties(); } $str_AVAILABLE = ' available="'.($arAcc['CATALOG_AVAILABLE'] == 'Y' ? 'true' : 'false').'"'; |
Кастомизированный скрипт тут.