将简单产品与可配置产品相​​关联

时间:2016-09-06 06:59:21

标签: php mysql magento zend-framework magento-1.9

您好我能够将简单产品与可配置产品相​​关联。 使用代码:

<?php
    require_once('app/Mage.php'); //Path to Magento
     umask(0);
     Mage::app();
    $productId= 86971;
    $productCollection = Mage::getResourceModel('catalog/product_collection')
            ->addAttributeToSelect('*')
            ->addAttributeToFilter('type_id','configurable')
             ->load($productId); 

   foreach ($productCollection as $product) {
           $simpleProductIds = array('35683'); // Simple product Ids
       Mage::getResourceSingleton('catalog/product_type_configurable')
       ->saveProducts($product, $simpleProductIds);
}

?>

但每当我将新的简单产品与可配置产品联系起来时,我就会失去旧的相关产品。你能帮我解决这个问题。

提前感谢

1 个答案:

答案 0 :(得分:0)

您正在丢失旧关联,因为saveProducts会使用您传递的产品ID重新建立父产品的关联。如果您想要添加新产品,则需要获取旧的子产品列表,添加新的产品ID,然后使用生成的组合数组调用saveProducts。

$childProducts = Mage::getResourceSingleton('catalog/product_type_configurable')->getChildrenIds($productId)
$childProducts[] = '35683';
Mage::getResourceSingleton('catalog/product_type_configurable')->saveProducts($productId, $childProducts);