Example #1
0
 private static function createCategories($category, $parentId = null)
 {
     if (!$category->is_active) {
         return;
     }
     try {
         $categoryEssence = MagentoConnector::$ws->catalogCategoryInfo(MagentoConnector::getActiveSession(), $category->category_id, null, null);
     } catch (SoapFault $e) {
         Logger::alert('Erro ao recuperar informacao da categoria.', $e, MagentoConnector::$ws->__getLastRequest());
     }
     $categoryData = new Category($categoryEssence, $parentId);
     //If category exists, update instead of creating a new one.
     //        if($currentCategory = self::existsByName($categoryData))
     //            $categoryData->Id = $currentCategory->CategoryGetByNameResult->Id;
     if (self::$categoryCounter) {
         $categoryData->Id = 1;
         self::$categoryCounter = 0;
     }
     try {
         $result = VtexConnector::$ws->CategoryInsertUpdate($categoryData->toVtex());
         Logger::info("Categoria criada/atualizada: " . $result->CategoryInsertUpdateResult->Id . " - " . $result->CategoryInsertUpdateResult->Name);
     } catch (SoapFault $e) {
         Logger::alert('Erro ao inserir/atualizar categoria.', $e, VtexConnector::$ws->__getLastRequest());
     }
     if (count($category->children) > 0) {
         foreach ($category->children as $subCategory) {
             self::createCategories($subCategory, $result->CategoryInsertUpdateResult->Id);
         }
     }
 }