2011-07-22 70 views
2

我一直在努力解决这个问题一段时间,我真的需要完成它。我觉得Magento的可用性可以让我的问题得到解决,但我还没有发现任何东西。Magento获取儿童产品变化

所以基本上我需要获取可配置产品的子产品的属性值。到目前为止,我所能做的只是在view.phtml文件中....

if ($_product->getTypeId() == 'configurable') 
{ 
    $confAttributes = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray($_product); 
    print_r($confAttributes); 
} 

但是,这是来自父项的范围。基本上我的问题是,我需要得到儿童产品的图像,但是当我经历这样的循环......

if ($_product->getTypeId() == 'configurable') 
    $_child_products = $_configurable_model->getUsedProducts(null, $_product); 
for ($i = 0; $i < count ($_child_products); $i++){ 
    <?php echo $this->helper('catalog/image')->init($_child_products[$i], 'image'); ?> 
} 

但现在,是从孩子的产品的角度范围。我需要以某种方式将子产品与它所使用的属性值关联起来(用于Jquery和图像处理)。

那么是否有任何方法可以从child_product的角度获取一些信息,并将其链接到属性?

谢谢!

+0

我不确定你有什么需要。第二个代码被剪切出什么问题? –

+0

第二个片段仅获取儿童产品图像。我需要一种方式让这些图像知道它们来自哪个变体。第一个片段为我提供了一系列适用的变体,但我无法链接图像URL与变体... –

+0

您是否试图将$ _child_products [$ i]加载为magento模型?或收集? – Nasaralla

回答

2

希望这段代码能帮助你,如果我对这个问题的理解是正确的。

 $product = Mage::getModel('catalog/product')->load($id); 

    $childIds = Mage::getModel('catalog/product_type_grouped') 
    ->getChildrenIds($product->getId()); 

    $i = 1; 

    foreach ($childIds as $key => $val){ 

     foreach($vals as $keyy => $vall){ 
      $arr[$i] = $vall; 
      $i++; 
     } 

    } 

$ id - >是组产品的产品ID。

$ arr - >包含子产品ID的数组。

 $collection = Mage::getModel('catalog/product') 
    ->getCollection() 
    ->addAttributeToSelect('name') 
    ->addAttributeToSelect('price') 
    ->addFieldToFilter('entity_id',array('in' =>array($arr))); 

上面的代码片段显示了如何检索子产品。