Magento将组价格和分层价格从一种产品复制到另一种产品

Magento将组价格和分层价格从一种产品复制到另一种产品,magento,Magento,我已成功从产品中读取组价格和层价格数组 但我无法使用其他产品的阵列设置组价格和层价格属性 这是读取组价格和层价格数组的方式 $groupPrices = $simpleProduct->getData('group_price'); if (is_null($groupPrices)) { $attribute = $simpleProduct->getResource()->getAttribute('group_price'); if ($attribute

我已成功从产品中读取组价格和层价格数组

但我无法使用其他产品的阵列设置组价格和层价格属性

这是读取组价格和层价格数组的方式

$groupPrices = $simpleProduct->getData('group_price');
if (is_null($groupPrices)) {
    $attribute = $simpleProduct->getResource()->getAttribute('group_price');
    if ($attribute) {
        $attribute->getBackend()->afterLoad($simpleProduct);
        $groupPrices = $simpleProduct->getData('group_price');
    }
}
我尝试了下面的方法将它们设置为其他产品

$product->setGroupPrice($groupPrices);

$product->setData('tier_price', $tierPrices);

$product->setData('tier_price', $tierPrices)->getResource()->saveAttribute($product, 'tier_price');

他们都没有工作。救命啊

在查看tier price数组后,我发现有一个price_id密钥,当您将tier pricing数据从一个产品复制到另一个产品时,显然不应该使用该密钥并将其复制到另一个产品,因此您只需切片数组,移除该密钥-值对即可

(
    [0] => Array
        (
            [price_id] => 1285  // REMOVE THIS KEY-VALUE PAIR
            [website_id] => 0
            [all_groups] => 0
            [cust_group] => 1
            [price] => 7.0600
            [price_qty] => 2.0000
            [website_price] => 7.0600
        )

    [1] => Array
        (
            [price_id] => 1286  // REMOVE THIS KEY-VALUE PAIR
            [website_id] => 0
            [all_groups] => 0
            [cust_group] => 1
            [price] => 6.9100
            [price_qty] => 5.0000
            [website_price] => 6.9100
        )

)