【问题标题】:Associate Simple Product to Configurable Product将简单产品与可配置产品相​​关联
【发布时间】:2016-09-06 06:59:20
【问题描述】:

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

<?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);
}

?>

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

提前致谢

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 是否可以不使用foreach循环直接传递$productid?
    • 嗨,每当我使用此方法时,它都会显示重复条目
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    相关资源
    最近更新 更多