function ImportProductSets() { if ($this->bCatalog && $this->next_step["SETS"] > 0) { $rsParents = $this->_xml_file->GetList(array("ID" => "asc"), array("PARENT_ID" => $this->next_step["SETS"]), array("ID", "LEFT_MARGIN", "RIGHT_MARGIN")); while ($arParent = $rsParents->Fetch()) { $arXMLElement = $this->_xml_file->GetAllChildrenArray($arParent); if (isset($arXMLElement[$this->mess["IBLOCK_XML2_ID"]])) { $rsElement = CIBlockElement::GetList(array(), array("=XML_ID" => $arXMLElement[$this->mess["IBLOCK_XML2_ID"]], "IBLOCK_ID" => $this->next_step["IBLOCK_ID"]), false, false, array("ID", "IBLOCK_ID")); if ($arDBElement = $rsElement->Fetch()) { CCatalogProductSet::deleteAllSetsByProduct($arDBElement["ID"], CCatalogProductSet::TYPE_GROUP); if (isset($arXMLElement[$this->mess["IBLOCK_XML2_PRODUCT_SET"]])) { $arFields = array("ITEM_ID" => $arDBElement["ID"], "TYPE" => CCatalogProductSet::TYPE_GROUP, "ITEMS" => array()); foreach ($arXMLElement[$this->mess["IBLOCK_XML2_PRODUCT_SET"]] as $xmlSet) { $arFields["ITEMS"][] = array("ITEM_ID" => $this->GetElementByXML_ID($arDBElement["IBLOCK_ID"], $xmlSet[$this->mess["IBLOCK_XML2_VALUE"]]), "SORT" => intval($xmlSet[$this->mess["IBLOCK_XML2_SORT"]])); } CCatalogProductSet::add($arFields); } } } } } }
public static function changeTabs($intIBlockID, $intID, &$arCatalog) { $result = false; $intIBlockID = (int) $intIBlockID; $intID = (int) $intID; if ($intIBlockID <= 0 || $intID <= 0) { return $result; } if (empty($arCatalog)) { $arCatalog = CCatalogSKU::GetInfoByIBlock($intIBlockID); } if (empty($arCatalog)) { return $result; } if ($arCatalog['CATALOG'] != 'Y') { return $result; } $intProductID = CIBlockElement::GetRealElement($intID); $boolFeatureSet = CBXFeatures::IsFeatureEnabled('CatCompleteSet'); if ($boolFeatureSet) { if (isset($_REQUEST['groupdel']) && 'Y' == $_REQUEST['groupdel']) { $result = CCatalogProductSet::deleteAllSetsByProduct($intProductID, CCatalogProductSet::TYPE_GROUP); } elseif (isset($_REQUEST['setdel']) && 'Y' == $_REQUEST['setdel']) { $result = CCatalogProductSet::deleteAllSetsByProduct($intProductID, CCatalogProductSet::TYPE_SET); } } return $result; }