php - 使用 phpclassic/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 个产品。您对如何获得所有这些有什么建议吗?
提前致谢!
解决方案
我为我们的项目创建了一个函数,可以获取商店的所有资源项。参见示例:
$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;
}
推荐阅读
- javascript - 如何使用 javascript 在动态数据列表中应用 css 样式?
- c - HTTP 服务器应该如何将请求参数传递给脚本?
- vue.js - 为什么我不能使用 vue-konva 为太多或更多形状创建一层?
- python - 模板渲染期间出错:“ManyToOneRel”对象没有属性“attname”
- html - 如何在导航栏中使 div 居中(不带空格)
- oauth-2.0 - 移至 v2.0 权限后,同意提示不会询问在 AD App 中设置的所有权限
- css - 你如何防止相对容器内绝对定位的孩子溢出?
- angular - Angular 7 中的手风琴组件
- canvas - 如何从不同的 ObservableCollection 集合绑定到 ContentTemplate 中的每个画布?
- apache - .htaccess 如何隐藏 php 扩展名