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 saveFormValues($arItem)
 {
     $boolFeatureSet = CBXFeatures::IsFeatureEnabled('CatCompleteSet');
     if (!$boolFeatureSet) {
         return;
     }
     if (0 >= $arItem['PRODUCT_ID']) {
         return;
     }
     if (!empty(self::$arCheckValues[self::$strMainPrefix])) {
         foreach (self::$arCheckValues[self::$strMainPrefix] as $key => $arSaveSet) {
             if (0 >= $arSaveSet['ITEM_ID']) {
                 $arSaveSet['ITEM_ID'] = $arItem['PRODUCT_ID'];
             }
             $boolNew = 0 >= (int) $key;
             if ($boolNew) {
                 CCatalogProductSet::add($arSaveSet);
             } else {
                 CCatalogProductSet::update($key, $arSaveSet);
             }
         }
     }
 }