2016-07-21 3 views
0

Я хочу удалить расслоение продукта в MagentoКак удалить Bundle продукт в Магнето

У меня есть найти учебник, чтобы удалить продукты в Magento.

Но я немного смущен, чтобы использовать этот код для продуктов bundle, потому что, поскольку существует зависимость продуктов 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

@AmitRajput Некоторые конкретные продукты Bundle по объекту entity_id. У меня есть идентификатор объекта как простых, так и связанных продуктов. –

ответ

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); 
+0

У меня есть некоторые исправления простых продуктов, таких как 10 продуктов, которые мы продаем с помощью других простых продуктов, делая его как продукт Bundle. Поэтому мы не хотим удалять исправление простого продукта. Возможно ли это с вашим скриптом? Потому что, по моему пониманию, он удаляет все связанные продукты с помощью продуктов Bundle. –

+0

Вы можете исключить исправить простой идентификатор продуктов из массива '$ itemIds' –

+0

Что делать, если я прямо передаю Entity_id (простой и связный идентификатор), который я хочу удалить –

 Смежные вопросы

  • Нет связанных вопросов^_^