Создайте новый magento Rest api, чтобы получить список категорий в magento

Кто-нибудь знает, как создать новый magento rest api, чтобы получить список категорий.

Я уже видел эту ссылку magento rest api, но это не отображает списки категорий.

Если кто-нибудь знает, пожалуйста, решите это.

Сначала создайте базовый модуль, используя http://www.silksoftware.com/magento-module-creator/, и тогда вам нужно создать следующий файл и добавить этот файл в заданный путь.

Путь к модулю = app/code/local/Restapi/Categories

1) app / code / local / Restapi / Категории / etc / api2.xml

 <?xml version="1.0"?> <config> <api2> <resource_groups> <catalog translate="title" module="api2"> <title>Catalog</title> <sort_order>10</sort_order> </catalog> </resource_groups> <resources> <categories translate="title" module="api2"> <group>catalog</group> <model>categories/api2_category</model> <title>Categories</title> <sort_order>10</sort_order> <privileges> <admin> <retrieve>1</retrieve> <!-- <create>1</create> <update>1</update> <delete>1</delete> --> </admin> <customer> <retrieve>1</retrieve> <!-- <create>1</create> <update>1</update> <delete>1</delete> --> </customer> <guest> <retrieve>1</retrieve> <!-- <create>1</create> <update>1</update> <delete>1</delete> --> </guest> </privileges> <attributes> <category_id>Category ID</category_id> <name>Name</name> <parent_id>Category Parent ID</parent_id> <child_id>Category Child List</child_id> <active>Active</active> <level>Level</level> <position>Position</position> </attributes> <routes> <route> <route>/categories/:cat_id</route> <action_type>collection</action_type> </route> </routes> <versions>1</versions> </categories> </resources> </api2> </config> 

Здесь cat_id – это идентификатор категории, который мы передаем для выбора дочерней категории.

2) app / code / local / Restapi / Категории / Модель / Api2 / Категория / Отдых / Клиент / V1.php

 <?php class Restapi_Categories_Model_Api2_Category_Rest_Customer_V1 extends Restapi_Categories_Model_Api2_Category { /** * Retrieve list of category list. * * @return array */ protected function _retrieveCollection() { $ruleId = $this->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; } 

вы также добавляете этот же файл V1.php в этот путь, если у вас есть другой пользователь, например, администратор и гость.

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

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

Просто вы хотите изменить путь к классу в файле V1.php, например Customer = Admin.