我目前正在尝试将我的所有产品从BC拖到本地数据库中,以便我可以使用它们。极限让我头疼不已!
在此代码正常工作以获取所有产品和SKU之前
$filter = array('limit' => 200, 'page' => 1);
$products = Bigcommerce::getProducts($filter);
foreach ($products as $product)
{
$ParentSKU = $product->sku;
$BC_Product_ID = $product->id;
if ($product->skus != '')
{
foreach ($product->skus as $sku)
$ChildSKU = $sku->sku;
$Child_BC_Product_ID = $sku->id;
}
}
现在这是使用PHP库和作品提供的产品少于50个SKU(我认为这个数字是正确的)。 这是因为它正在打电话给....
https://store.mybigcommerce.com/api/v2/products/#productid#/skus.json?max_id=9999&limit=250
此结果仅返回50。
现在我可以通过添加像这样的过滤器限制来接收它们....
https://store.mybigcommerce.com/api/v2/products/#productid#/skus.json?limit=250
250是最大限制 - 对于我每个产品的可配置选项的数量,这将是正常的。但是如何将此过滤器添加到我的
$product->skus
命令?我试过这样做......
$filtertest = array ('limit' => 200);
$product->skus($filtertest);
但是当我把var_dump这个看起来完全忽略了过滤器?有什么想法我可以通过这种机制添加过滤器吗?
我希望BC可以选择在一次通话中显示所有SKU父母/子女作为出口产品的一部分,这样可以更轻松地使用它!
非常感谢任何帮助!
答案 0 :(得分:1)
好的,不是每个产品都有SKU,我发现更容易分别获得所有SKU。
首先,我通过CURLing以下网址找出了总共有多少SKU。
/api/v2/products/skus/count.json
同样适用于母产品
/api/v2/products/count.json
将这些除以100(因为我将它们分页为100)
然后我在bigcommerce提供的PHP API中使用了以下命令 对于SKU ..
Bigcommerce::getSkus($filter)
对于产品......
Bigcommerce::getProducts($filter)
然后我使用了以下过滤器。
$filter = array('limit' => 100, 'page' => $AmountOfPagesReturnedFromCurl);
然后将循环遍历所有SKU / Products,我可以在循环中添加SQL命令,将它们添加到我的数据库中。
我希望这对某人有帮助,我真的很喜欢使用Bigcommerce进行开发。