如何删除Magneto中的Bundle产品

时间:2016-07-21 07:42:18

标签: php magento magento-1.7 magento-1.9

我想删除Magento中的捆绑产品

我找到了一些删除Magento产品的教程。

但是我对使用该产品的代码也很困惑,因为Bundle产品与简单产品有依赖关系。

以下是我的代码 -

$entity_id = trim($data[0]);

        try
            {
                $product = Mage::getModel('catalog/product')->load($entity_id)->delete();

            } 
        catch (Exception $e) 
            {
                Mage::log("Unable to delete Product - Entity ID: ". $entity_id);
            }

任何人都可以建议如何删除捆绑产品及其简单的产品。

1 个答案:

答案 0 :(得分:0)

您可以使用以下脚本删除捆绑产品及其相关的简单产品:

//bundled product id
$id = 887;  
$itemIds = array();
$itemIds[] = $id;

//Fetch all asscoiated products of bundle item
$product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($id);
$collection = $product->getTypeInstance(true)
    ->getSelectionsCollection($product->getTypeInstance(true)->getOptionsIds($product), $product);

foreach ($collection as $item) {
    $itemIds[] = $item->getId();
}

// Delete all products
foreach ($itemIds as $productId) {
    try {
        $product = Mage::getModel('catalog/product')->load($productId)->delete();
        echo "<br>Product Deleted: ". $productId;   
    } catch (Exception $e) {
        echo "<br>Unable to delete Product - Entity ID: ". $entity_id;
    }
}

如果您使用独立脚本删除产品。您需要在脚本代码之前设置isSecureArea注册表,如下所示。

Mage::register('isSecureArea', true);