Create new magento Rest api to get category list in magento

前端 未结 1 1958
野的像风
野的像风 2020-12-05 03:28

Does anyone know how to create new magento rest api to get category listing.

I already saw this link magento rest api but this not fetch category listings.

I

1条回答
  •  醉话见心
    2020-12-05 04:09

    First create basic module using http://www.silksoftware.com/magento-module-creator/ this and then you have to create following file and add this file in given path.

    Module path = app/code/local/Restapi/Categories

    1) app/code/local/Restapi/Categories/etc/api2.xml

    
    
    
        
            
                Catalog
                10       
            
        
        
            
                catalog
                categories/api2_category
                Categories
                10
                
                    
                        1
                   
                    
                    
                        1
                   
                    
                    
                        1
                   
                    
                
                
                    Category ID
                    Name
                    Category Parent ID
                    Category Child List
                    Active
                    Level
                    Position
                
                
                    
                        /categories/:cat_id
                        collection
                    
                
                1
            
        
    
    
    

    Here cat_id is category id which we pass to fetch child category.

    2) app/code/local/Restapi/Categories/Model/Api2/Category/Rest/Customer/V1.php

    getRequest()->getParam('cat_id');
    
    //  $cat_mod = Mage::getModel('catalog/category')->load($ruleId)->toArray();
        $cats = Mage::getModel('catalog/category')->load($ruleId);
        $subcats  = Mage::getModel('catalog/category')->load($ruleId)->getChildren();
    
        $cur_category = array();
    
        $node['category_id'] = $ruleId;
        $node['name'] = $cats->getName();
        $node['parent_id'] = $cats->getParentId();
        $node['child_id'] = $subcats;
        if($cats->getIsActive()){
            $node['active'] = 1;
        }else{
            $node['active'] = 0;
        }
        $node['level'] = $cats->getLevel();
        $node['position'] = $cats->getPosition();
    
        $cur_category[] = $node;
    
    //  $subcats  = Mage::getModel('catalog/category')->load($ruleId)->getAllChildren();
    //  $subcats  = Mage::getModel('catalog/category')->load($ruleId)->getChildren();
    
        if($subcats != '') 
        {
            foreach(explode(',',$subcats) as $subCatid)
            {
                $_category = Mage::getModel('catalog/category')->load($subCatid);
                $childcats  = Mage::getModel('catalog/category')->load($subCatid)->getChildren();
    
                $node['category_id'] = $subCatid;
                $node['name'] = $_category->getName();
                $node['parent_id'] = $_category->getParentId();
                $node['child_id'] = $childcats;
                if($_category->getIsActive()){
                    $node['active'] = 1;
                }else{
                    $node['active'] = 0;
                }
                $node['level'] = $_category->getLevel();
                $node['position'] = $_category->getPosition();
    
                $cur_category[] = $node;
    
            }
        }
    
        return $cur_category;       
    }
    

    you also add this same V1.php file in this path if you have other user like admin and guest.

    app/code/local/Restapi/Categories/Model/Api2/Category/Rest/Admin/V1.php

    app/code/local/Restapi/Categories/Model/Api2/Category/Rest/Guest/V1.php

    Just you want to change the class path in V1.php file like Customer = Admin.

    0 讨论(0)
提交回复
热议问题