Magento rest api只提供10种产品

问题描述:

我使用REST调用Magento产品列表,但它只显示10个产品而不是全部产品。Magento rest api只提供10种产品

任何人都可以指导,因为这个问题可能发生什么?

这是我使用调用REST API代码: -

$url = 'magentohost url'; 
$callbackUrl = $url . "oauth_admin.php"; 
$temporaryCredentialsRequestUrl = $url . "oauth/initiate?oauth_callback=" . urlencode($callbackUrl); 
$adminAuthorizationUrl = $url . 'admin/oauth_authorize'; 
$accessTokenRequestUrl = $url . 'oauth/token'; 
$apiUrl = $url . 'api/rest'; 
$consumerKey = 'consumer_key'; 
$consumerSecret = 'consumer_secret'; 
$token = 'token'; 
$secret = 'token_secret'; 

try { 
    $oauthClient = new OAuth($consumerKey, $consumerSecret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION); 
    $oauthClient->setToken($token, $secret); 
    $resourceUrl = "$apiUrl/products"; 
    $oauthClient->fetch($resourceUrl, array(), 'GET', array('Content-Type' => 'application/json', 'Accept' => 'application/json')); 
    $productsList = json_decode($oauthClient->getLastResponse()); 
    echo '<pre>'; 
    print_r($productsList); 
} 
catch(Exception $e) { 
    echo '<pre>'; 
    print_r($e); 
} 

它给我正确的输出,但从来没有超过10的产品,当我想输出所有的人。

+0

你的代码在哪里? – 2015-02-24 05:47:01

默认限制为10,就能通过限制如下:

可以定义项的限制通过使限制参数在响应中返回。默认情况下,返回10个项目,最大数量为100个项目。您也可以通过传递页面参数来定义页码。例如:

http://magentohost/api/rest/products?page=2&limit=20

+0

It works ....谢谢Mrunmayi :) – Jen 2015-02-24 07:11:26

我们可以设置产品的响应和产品的最大数量的默认数量。

转到应用程序/代码/核心/法师/ API2 /型号/ Resource.php

变化按我们的需要。 /#@ + *收集页面大小 / const PAGE_SIZE_DEFAULT = 10; const PAGE_SIZE_MAX = 200; /#@ -/

我想补充上面的评论。您应该将app/code/core/mage/Api2/Model/Resource.php复制到app/code/local/mage/Api2/Model/Resource.php并在本地文件中进行更改。你应该从不编辑核心Magento文件,否则,如果你升级你的Magento系统,你会失去你的改变。