protected function saveCategoryPropsMap($iblockId, $ebayCategoryId, array $ebayCatVar, array $bitrixCatProps) { $result = true; $mapEntityId = MapHelper::getCategoryVariationEntityId($iblockId, $ebayCategoryId); MapTable::deleteByMapEntityId($mapEntityId); foreach ($ebayCatVar as $key => $ebayCategoryVariation) { if (!isset($bitrixCatProps[$key]) || strlen($ebayCategoryVariation) <= 0) { continue; } $fields = array("ENTITY_ID" => $mapEntityId, "VALUE_EXTERNAL" => $ebayCategoryVariation, "VALUE_INTERNAL" => $bitrixCatProps[$key]); $addRes = MapTable::add($fields); $result = $result && $addRes->isSuccess(); } return $result; }
protected function getVariationsValues($iblockId, $ebayCategoryId, $ebayCategoryVariations) { $result = array(); $mappedEbayCategoryVar = array(); $catVarEntId = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryVariationEntityId($iblockId, $ebayCategoryId); $catMapVarRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array("filter" => array("ENTITY_ID" => $catVarEntId))); while ($arMapRes = $catMapVarRes->fetch()) { $mappedEbayCategoryVar[$arMapRes["VALUE_EXTERNAL"]] = $arMapRes["VALUE_INTERNAL"]; } foreach ($ebayCategoryVariations as $variation) { if ($variation["REQUIRED"] == "Y" && !array_key_exists($variation["ID"], $mappedEbayCategoryVar)) { $result[$variation["ID"]] = ""; } } $result = $result + $mappedEbayCategoryVar; $result[''] = ''; return $result; }
protected function getAttributesList($iblockId, array $ebayCategories) { $result = array(); foreach ($ebayCategories as $category) { $mapEntityId = \Bitrix\Sale\TradingPlatform\Ebay\MapHelper::getCategoryVariationEntityId($iblockId, $category); $catMapVarRes = \Bitrix\Sale\TradingPlatform\MapTable::getList(array("filter" => array("ENTITY_ID" => $mapEntityId))); while ($arMapRes = $catMapVarRes->fetch()) { $result[$arMapRes["VALUE_EXTERNAL"]] = $arMapRes["VALUE_INTERNAL"]; } } return $result; }