2016-09-06 3 views
-1

Привет Я могу связать простой продукт с настраиваемым продуктом. Использование Код:Связанный простой продукт для конфигурируемого продукта

<?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

Вы теряете старые ассоциации, потому что saveProducts повторно устанавливает ассоциации для родительского продукта с идентификаторами продукта вы передаете его. Если вы хотите добавить новый продукт вместо этого, вам нужно будет взять старый список дочерних продуктов, добавить новый идентификатор продукта, а затем вызвать saveProducts с результирующим объединенным массивом.

$childProducts = Mage::getResourceSingleton('catalog/product_type_configurable')->getChildrenIds($productId) 
$childProducts[] = '35683'; 
Mage::getResourceSingleton('catalog/product_type_configurable')->saveProducts($productId, $childProducts); 
+0

Большое спасибо :) –

+0

Можно ли передать $ PRODUCTID непосредственно без цикла Еогеасп? –

+0

HI его отображение повторяющейся записи всякий раз, когда я использую этот метод –

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

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