您好我能够将简单产品与可配置产品相关联。 使用代码:
<?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);
}
?>
但每当我将新的简单产品与可配置产品联系起来时,我就会失去旧的相关产品。你能帮我解决这个问题。
提前感谢
答案 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);