php – 创建新的magento Rest api以获取magento中的类别列表
有谁知道如何创建新的magento rest api以获得类别列表.
我已经看到了这个链接 如果有人知道那么请解决这个问题.. 解决方法
首先使用
http://www.silksoftware.com/magento-module-creator/创建基本模块,然后您必须创建以下文件并在给定路径中添加此文件.
模块路径= app / code / local / Restapi / Categories 1)app / code / local / Restapi / Categories / 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是我们传递给获取子类别的类别ID. 2)app / code / local / Restapi / Categories / Model / Api2 / Category / Rest / Customer / 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; } 如果您有其他用户,例如admin和guest,您还可以在此路径中添加此相同的V1.php文件. 应用程序/代码/本地/ RESTAPI /分类/型号/ API2 /分类/ REST /管理/ V1.php 应用程序/代码/本地/ RESTAPI /分类/型号/ API2 /分类/ REST /客户/ V1.php 您只想更改V1.php文件中的类路径,如Customer = Admin. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |