代码之家  ›  专栏  ›  技术社区  ›  user5002391

如何使用扩展的自定义rest api获取magento shop中所有产品的列表

  •  -1
  • user5002391  · 技术社区  · 6 年前

    我在magento中创建了一个自定义api,目前面临的问题是,每次测试自定义端点时,我都会获得magento存储中可用的所有产品。如何获得magento商店内提供的所有产品。

    V1.php代码

    <?php
    class Class_Restapi_Model_Api2_Restapi_Rest_Admin_V1 extends Class_Restapi_Model_Api2_Restapi
    {
            public function _retrieveCollection()
            {
                    $product = Mage::getModel('catalog/product')->load(1);
                    return $product;
            }
    }
    

    如何获取所有产品,而不考虑类别?

    更新

    这是更新后的代码,现在当我尝试在postman中调试它时,得到的是空数组

    <?php
    class Model_Restapi_Model_Api2_Restapi_Rest_Admin_V1 extends Model_Restapi_Model_Api2_Restapi
    {
            public function _retrieveCollection()
            {
                    $products = Mage::getModel("catalog/product")->getResourceCollection()->load();
                    return $products->toArray();
            }
    }
    

    邮差的结果

    [
        [],
        []
    ]
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Vladimir Samsonov    6 年前

    您的代码仅加载第一个产品的产品模型。

    使用产品集合获取所有产品

    $collection = Mage::getModel('catalog/product')->getCollection();
    $collection->load();
    

    请注意,这是一个巨大的数据量。使用过滤器、限制和其他 方法使集合项目尽可能小