Magento Rest-Api类别列表

问题描述 投票:1回答:2

我想为Magento Rest Api创建一个类别列表扩展。

在stackoverflow上发布了一个线程:

创建新的magento Rest API以获取magento中的类别列表

但是它仅显示一小段不完整的代码,无法正常工作。 似乎开发人员只是从Marko Andreini的以下扩展中复制了一个简短的片段:

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

但是我无法使其与Magento 1.9一起使用。

我总是得到403-访问/ magento / api / rest / categories时被拒绝

如果有人知道问题出在哪里以及如何解决,我将非常高兴。

list rest magento categories
2个回答
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
投票

响应上面的Jet Miller帖子,403访问的意思是“禁止”。 确保身份验证正常工作,正确设置角色和属性。 其他选择是在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复制到新创建的guest文件夹。 不要忘记将类名称更改为:[名称空间] _ [模块名称] _Model_Api2_Category_Rest_ 访客 _V1

我想你会去的

© www.soinside.com 2019 - 2024. All rights reserved.