2015-02-24 5 views
1

Я использую 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

Где мой код? –

ответ

5

По умолчанию предел 10. Вы можете перейти границу следующим образом:

Вы можете определить предел возвращаемых элементов в ответ, передавая параметр предела. По умолчанию возвращается 10 элементов, а максимальное число - 100. Вы также можете определить номер страницы, передав параметр страницы. Пример:

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

+0

Он работает .... Спасибо, Мунмайи :) – Jen

0

Мы можем установить номер по умолчанию ответ продукта и максимальное количество продуктов.

Перейти к приложению/код/​​ядро ​​/ Mage/API2/Модель/Resource.php

Изменения в соответствии с нашими потребностями. /# @ + * Размеры сборных страниц / const PAGE_SIZE_DEFAULT = 10; const PAGE_SIZE_MAX = 200; / # @ -/

1

Я хотел бы добавить из комментария выше. Вы должны скопировать приложение/код/​​ядро ​​/ маг/Api2/Model/Resource.php в app/code/local/mage/Api2/Model/Resource.php и внести изменения в локальный файл. Вы должны НИКОГДА отредактируйте основные файлы Magento, иначе, если вы обновите систему Magento, вы потеряете свои изменения.

Смежные вопросы