How to create category from csv file

How to create bulk parent and sub category from csv file
Instruction:- Copy and save this code file in root folder of Magento and run it. exp :- http://yoursite/cat.php
<?php
error_reporting(E_ALL | E_STRICT);
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
$app = Mage::app('admin'); 
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
ini_set('max_execution_time', 1800);
umask(0);
/************ Get CSV file **************/
  $path = Mage::getBaseDir('media') . DS . 'catcsvfile'; //file path of csv
  $files = glob($path.'/*'); // get all file names
  if($files){
   foreach($files as $file){ // iterate files   
     $csv  =  new Varien_File_Csv();
     $data =  $csv->getData($file); //path to csv
        }  
 array_shift($data);
 foreach($data as $_data){
/*****************  Prent category creation *****************/
   /*****************  Prent category creation *****************/
   $Pcat =  utf8_encode($_data[0]); // column to create parent category
   $getcategory = Mage::getResourceModel('catalog/category_collection')->addFieldToFilter('name',$Pcat);
   $catData = $getcategory->getData();
   $catcount  = count($catData);
    if($catcount==0 && !empty($Pcat))
   {  $category = Mage::getModel('catalog/category');
     $category->setName($Pcat);
     $category->setUrlKey($Pcat);
     $category->setMetaTitle($Pcat);
     $category->setIsActive(1);
     $category->setDisplayMode('PRODUCTS');
     $category->setIsAnchor(1); //for active achor
     $category->setStoreId(Mage::app()->getStore()->getId());
     $parentCategory = Mage::getModel('catalog/category')->load(2);
     $category->setPath($parentCategory->getPath());
     $category->save();
  }
/*    Child category creation             **********************/
   global $childcat;
    $childcat = utf8_encode($_data[1]); // column to create sub category
   $pgetcategory = Mage::getResourceModel('catalog/category_collection')->addFieldToFilter('name',$childcat);
   $pcatData = $pgetcategory->getData();
   if(!$pcatData) {
    $getcategory2 = Mage::getResourceModel('catalog/category_collection')->addFieldToFilter('name',$Pcat);
    $catData2 = array();
   $catData2 = $getcategory2->getData();
   if(!empty($catData2)){
   $ParentCategoryId2 = $catData2[0]['entity_id'];   
     $category = Mage::getModel('catalog/category');
     $category->setName($childcat);
     $category->setUrlKey($childcat);
     $category->setMetaTitle($childcat);
     $category->setIsActive(1);
     $category->setDisplayMode('PRODUCTS');
     $category->setIsAnchor(1); //for active achor
     $category->setStoreId(Mage::app()->getStore()->getId());
     $parentCategory = Mage::getModel('catalog/category')->load($ParentCategoryId2);
     $category->setPath($parentCategory->getPath());
     $category->save();
   }  
   }
 }
}
else
{
echo 'file not found';
}
?>

No comments:

Post a Comment