【问题标题】:Fetching all products of a store using phpclassic/php-shopify SDK使用 phpclassic/php-shopify SDK 获取商店的所有产品
【发布时间】:2019-06-04 07:49:49
【问题描述】:

我写这个 sn-p 是为了获取商店的所有产品,

使用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 种产品。 你对如何获得它们有什么建议吗?

提前致谢!

【问题讨论】:

    标签: php shopify


    【解决方案1】:

    您必须在参数中传递 page_info 而不是页面,您将从以下响应中获取页面信息:

    $page_info="";
    for($i=1; $i<=$totalpage; $i++){
        $productResource = $shopify->Product();
        $params = array(
                    'limit' => '250',
                    'page_info' => $page_info
                  );
                  
        $product = $productResource->get($params);
        $nextPageProducts = $productResource->getNextPageParams();
        $page_info = $nextPageProducts['page_info'];
    }
    

    对于第一页,您必须传入空的 page_info。

    【讨论】:

      【解决方案2】:

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

      $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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多