我对BigCommerce应用编程非常陌生,所以这听起来可能有点奇怪。
我正在尝试通过应用程序接口批量更新我的BigCommerce商店中类别的元信息。bigcommerce.php应用编程接口是我的首选武器。我在Mac上本地运行php脚本(MAMP)。
我的问题是,API只更新文件中的第一行(类别)。所有其他的都不会被触动。
下面是我的代码:
require 'vendor/autoload.php';
use Bigcommerce\Api\Client as Bigcommerce;
Bigcommerce::configure(array(
'store_url' => 'https://www.******.com/',
'username' => 'PHP_api',
'api_key' => '**************************'
));
$rows = array_map('str_getcsv', file('subcats_meta_update.csv'));
foreach ($rows as $row) {
$category = array('page_title' => trim($row[1]), 'meta_keywords' => trim($row[2]),'meta_description' => trim($row[3]),'search_keywords' => trim($row[2]));
echo Bigcommerce::updateCategory($row[0], $category);
}为了进行测试,.csv文件只包含两行代码,第一列是类别id,接下来三列是元信息。
foreach循环正确地解析了文件。我使用print_r($category)而不是运行Bigcommerce::updateCategory()对此进行了测试。
我甚至像这样硬编码了数组结果(为了测试Bigcommerce::updateCategory()):
$category = array('page_title' => 'Title one', 'meta_keywords' => 'keywords one','meta_description' => 'meta descr one','search_keywords' => 'search keyw one');
echo Bigcommerce::updateCategory(1, $category);
$category = array('page_title' => 'Title two', 'meta_keywords' => 'keywords two','meta_description' => 'meta descr two','search_keywords' => 'search keyw two');
echo Bigcommerce::updateCategory(2, $category);在这里,也只有第一个更新调用通过。
有没有办法正确地批量更新类别信息?非常感谢你的帮助。
发布于 2016-01-27 23:18:24
据我所知,您的代码看起来是正确的。可能是你的数据有问题?
默认情况下,Bigcommerce API不会在出现错误时失败,因此您可能希望打开该功能:Bigcommerce::failOnError(),或者使用Bigcommerce::getLastError()查看是否有要处理的错误消息,如下所示:
$result = Bigcommerce::updateCategory($id, $data);
if(!$result) {
echo Bigcommerce::getLastError();
}https://stackoverflow.com/questions/34786395
复制相似问题