首页 > 解决方案 > 使用 phpclassic/php-shopify SDK 获取商店的所有产品

问题描述

我写这个片段是为了获取商店的所有产品,

使用PHP Shopify SDK

$productCount = $shopify->Product->count();
$limit = 250;
$totalpage = ceil($productCount/$limit);

for($i=1; $i<=$totalpage; $i++){

  $params = array(
    'limit' => '250',
    'page' => $i
  ); 

  $products = $shopify->Product->get($params);
}

但我只得到前 50 个产品。您对如何获得所有这些有什么建议吗?

提前致谢!

标签: phpshopify

解决方案


我为我们的项目创建了一个函数,可以获取商店的所有资源项。参见示例:

$this->existingProducts = $this->getAllResourceItems($this->shopify->Product());


private function getAllResourceItems(PHPShopify\ShopifyResource $resource): array
{
    $result = [];

    $page_info = '';
    while ($page_info !== NULL) {
        $params = [
            'limit' => '250', // max 250
            'page_info' => $page_info
        ];

        $items  = $resource->get($params);
        $result = array_merge($result, $items);

        $nextPageParams = $resource->getNextPageParams();
        $page_info      = $nextPageParams['page_info'];
    }

    return $result;
}

推荐阅读