2015-03-02 2 views
0

Я хотел бы создать расширение списка категорий для Magento Rest Api.Magento Rest-Api Список категорий

Существует поток размещена на StackOverflow:

Create new magento Rest api to get category list in magento

Но это показывает лишь небольшой неполный кусок кода, который не работает. Похоже, что разработчик просто скопировал короткий фрагмент из следующего расширения Марко Андреини:

https://github.com/marcoandreini/magento-extendedrestapi

Но я не могу заставить его работать с Magento 1.9.

я все дни получить 403 -Access отказано при вызове/Magento/API/отдых/категории

Я был бы очень рад, если кто-то имеет представление о том, что в чем проблема и как ее исправить.

ответ

0

это работает для меня:

    $_helper = Mage::helper('catalog/category'); 
        $_categories = $_helper->getStoreCategories(); 

        $result = array(); 


        if (count($_categories) > 0) { 

         $i = 0; 
         foreach ($_categories as $_category) { 

          $katId = $_category->getId(); 

           $result[$i]['katId'] = $katId; 
           $result[$i]['url'] = $_helper->getCategoryUrl($_category); 
           $result[$i]['katName'] = $_category->getName(); 
           $result[$i]['katSubs'] = null; 

           $_category = Mage::getModel('catalog/category')->load($_category->getId()); 
           $_subcategories = $_category->getChildrenCategories(); 

           $j = 0; 
           if (count($_subcategories) > 0) { 

            foreach ($_subcategories as $_subcategory) { 

             $subKatId = $_subcategory->getId(); 
             $subKatName = $_subcategory->getName(); 

             if ($subKatId && $subKatName && $subKatName != "") { 

              $result[$i]['katSubs'][$j]['parentKatId'] = $katId; 
              $result[$i]['katSubs'][$j]['subKatId'] = $subKatId; 
              $result[$i]['katSubs'][$j]['url'] = $_helper->getCategoryUrl($_subcategory); 
              $result[$i]['katSubs'][$j]['subKatName'] = $subKatName; 

              $j++; 
             } 
            } 

           } 

          $i++; 
         } 
        } 
0

В ответ на Джет Миллер пост выше, 403 доступа означает, что "запрещено". Убедитесь, что аутентификация работает правильно, правильно задайте роли и атрибуты. Другой альтернативой было бы создание "гостя" привилегия под и т.д./api2.xml

<privileges> 
    <admin> 
     <retrieve>1</retrieve> 
    </admin> 
    <guest> 
     <retrieve>1</retrieve> 
    </guest> 
</privileges> 

Затем создайте другую папку Модель/API2/Категория/Отдых/Гость/

Скопируйте V1 .php внутри модели/Api2/Category/Rest/Admin/для вновь созданной гостевой папки. Не забудьте изменить имя класса: [имен] _ [ModuleName] _Model_Api2_Category_Rest_ Гость _V1

и я думаю, вы будете хорошо идти