如何使用SOAP v2从Magento中提取所有产品及其属性

时间:2012-01-13 15:26:18

标签: xml magento soap

经过三天偶尔富有成效的轰炸之后,我可以从Magento网站上取出一系列产品并获得特定产品的额外属性,但我真的需要完全转储所有产品及其属性。 所以这适用于单个产品:

$sku='HHAM-6';

$attributes = new stdClass();
$attributes->attributes = array('description', 'short_description', 'price');
$list = $client->catalogProductInfo($session, $sku, NULL, $attributes,'');

print_r($list);

这可以获得所有产品的基本信息:

$params = '';

$result = $client->catalogProductList($session, $params);
print_r($result);

那我怎么把两者融合在一起呢?后者的输出包括:

        [product_id] => 1
        [sku] => HHAM-6

如何整合每种产品的第一个例程?某种foreach构造?

很抱歉,如果这太明显但欢迎任何协助。

2 个答案:

答案 0 :(得分:0)

API方法catalogProductList始终只返回下一个属性:

        $result[] = array(
            'product_id' => $product->getId(),
            'sku'        => $product->getSku(),
            'name'       => $product->getName(),
            'set'        => $product->getAttributeSetId(),
            'type'       => $product->getTypeId(),
            'category_ids' => $product->getCategoryIds(),
            'website_ids'  => $product->getWebsiteIds()
        );

请参阅\ app \ code \ core \ Mage \ Catalog \ Model \ Product \ Api \ V2.php第82行(或其周围的某处)。

您可以使用catalogProductList获取所有产品的数组,然后使用catalogProductInfo获取每个产品的属性。但为什么不去管理员并使用系统 - >导入/导出 - >导出并将所有产品导出到csv?

答案 1 :(得分:0)

对于SOAP v1,我在/app/code/core/Mage/Catalog/Model/Product/Api.php第108行找到它