Magento获得儿童产品变异

时间:2011-07-22 19:57:41

标签: php image magento mage

我觉得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的角度获取一些可以将它链接到属性的信息吗?

1 个答案:

答案 0 :(得分: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 - &gt;是集团产品的产品ID。

$ arr - &gt;包含子产品ID的数组。

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

上面的代码段显示了检索子产品的方式。