/**
  * set children
  */
 public function setChildren()
 {
     parent::setChildren($this->getAdditionalInfo('children'));
 }
Exemple #2
0
 /**
  *
  */
 public function setChildren()
 {
     $children = array();
     if ($this->item->isConfigurable()) {
         $childProductIds = $this->item->getTypeInstance()->getUsedProductIds();
         foreach ($childProductIds as $child) {
             $configChild = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())->load($child);
             if ($configChild->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_DISABLED) {
                 $childProducts[] = $configChild;
             }
         }
     }
     if ($this->item->isGrouped()) {
         $childProductIds = $this->item->getTypeInstance()->getAssociatedProductIds();
         foreach ($childProductIds as $child) {
             $configChild = Mage::getModel('catalog/product')->setStoreId($this->_getConfig()->getStoreViewId())->load($child);
             if ($configChild->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_DISABLED) {
                 $childProducts[] = $configChild;
             }
         }
     }
     $oldVersion = $this->_getConfigHelper()->getIsMagentoVersionLower15();
     if (!empty($childProducts)) {
         foreach ($childProducts as $childProduct) {
             /** @var Mage_Catalog_Model_Product $childProduct */
             /** @var Shopgate_Framework_Model_Export_Product_Xml $child */
             $child = Mage::getModel('shopgate/export_product_xml');
             $child->setItem($childProduct);
             $child->setParentItem($this->item);
             $child->setData('uid', $this->item->getId() . '-' . $childProduct->getId());
             $child->setIsChild(true);
             $child->setAttributes($this->item);
             $child->setFireMethodsForChildren();
             $child->generateData();
             $children[] = $child;
             if (!$oldVersion) {
                 $childProduct->clearInstance();
             }
         }
     }
     parent::setChildren($children);
 }