Кастомизация выгрузки на авито


модуль для выгрузки на авито  https://marketplace.1c-bitrix.ru/solutions/abricos.avitoautoload/
выгружаем в разные разделы, поэтому добавила у разделов 3 пользовательских свойства:
  • UF_AVITO_CATEGORY - "Товары для детей и игрушки", пр
  • UF_AVITO_GOODSTYPE - "Детская мебель", пр.
  • UF_AVITO_CONDITION - "Новый, новое" - зависит от категории
Кастомизация модуля
авито рекомендует название товара выгружать попроще, поэтому завели для него строковое спец свойство с id 2885

каcтомизируем /bitrix/modules/abricos.avitoautoload/load/avito_run.php
стр 1285
if (!empty($propertyIdList))
{
   \CIBlockElement::GetPropertyValuesArray(
      $items,
      $IBLOCK_ID,
      array(
         'ID' => $itemIdsList,
         'IBLOCK_ID' => $IBLOCK_ID
      ),
      array('ID' => $propertyIdList),
      array('USE_PROPERTY_ID' => 'Y', 'PROPERTY_FIELDS' => $propertyFields)
   );
}
//--------------------вставляем тут (собараем названия)
$arNames = array();
foreach ($items as $itemId => $arItem) {
   $arNames[$itemId] = $arItem["PROPERTIES"][2885]["VALUE"] ?? "";
}
//--------------------конец вставки

стр. 1977 (примерно)
case 'name':
                           
   $row['NAME'] = !empty($arNames[$row["ID"]]) ? $arNames[$row["ID"]] : $row['NAME']; //добавляем
   $itemsContent .= "<Title>".yandex_text2xml($row['NAME'], true)."</Title>\n";
   break;