我想删除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);
}
任何人都可以建议如何删除捆绑产品及其简单的产品。
答案 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);