Esempio n. 1
0
 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);
                     }
                 }
             }
         }
     }
 }
Esempio n. 2
0
 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;
 }