Magento Rest-Api 类别列表
Magento Rest-Api Category List
我想为 Magento Rest 创建一个类别列表扩展 Api。
在 Whosebug 上发布了一个主题:
Create new magento Rest api to get category list in magento
但它只显示了一小段不完整的代码,无法正常工作。
开发人员似乎只是从 Marko Andreini 的以下扩展中复制了一小段代码:
https://github.com/marcoandreini/magento-extendedrestapi
但我无法让它与 Magento 1.9 一起使用。
我总是在调用 /magento/api/rest/categories
时收到 403 访问被拒绝的消息
如果有人知道问题出在哪里以及如何解决,我将非常高兴。
这对我有用:
$_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++;
}
}
响应上面的 Jet Miller post,403 访问意味着 "forbidden"。
确保身份验证正常工作,正确设置角色和属性。
其他替代方法是在 etc/api2.xml
下创建“guest”权限
<privileges>
<admin>
<retrieve>1</retrieve>
</admin>
<guest>
<retrieve>1</retrieve>
</guest>
</privileges>
然后创建另一个文件夹Model/Api2/Category/Rest/Guest/
将 Model/Api2/Category/Rest/Admin/ 中的 V1.php 复制到新创建的来宾文件夹。
不要忘记将 class 名称更改为:
[命名空间]_[ModuleName]_Model_Api2_Category_Rest_Guest_V1
我想你会很开心
我想为 Magento Rest 创建一个类别列表扩展 Api。
在 Whosebug 上发布了一个主题:
Create new magento Rest api to get category list in magento
但它只显示了一小段不完整的代码,无法正常工作。 开发人员似乎只是从 Marko Andreini 的以下扩展中复制了一小段代码:
https://github.com/marcoandreini/magento-extendedrestapi
但我无法让它与 Magento 1.9 一起使用。
我总是在调用 /magento/api/rest/categories
时收到 403 访问被拒绝的消息如果有人知道问题出在哪里以及如何解决,我将非常高兴。
这对我有用:
$_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++;
}
}
响应上面的 Jet Miller post,403 访问意味着 "forbidden"。 确保身份验证正常工作,正确设置角色和属性。 其他替代方法是在 etc/api2.xml
下创建“guest”权限<privileges>
<admin>
<retrieve>1</retrieve>
</admin>
<guest>
<retrieve>1</retrieve>
</guest>
</privileges>
然后创建另一个文件夹Model/Api2/Category/Rest/Guest/
将 Model/Api2/Category/Rest/Admin/ 中的 V1.php 复制到新创建的来宾文件夹。 不要忘记将 class 名称更改为: [命名空间]_[ModuleName]_Model_Api2_Category_Rest_Guest_V1
我想你会很开心