1

我有以下代码

$id = 19654;
$prod = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
$prod->addAttributeToFilter('entity_id',array('in'=> array($id)));
$prod->load();

使用以下代码

foreach($prod as $_prod)
{
     var_dump($_prod->getData());
}

我可以查看几乎所有与我正在查看的可配置产品相​​关的数据,我所缺少的至少是与之关联的简单产品的 entity_id 列表

就数据库而言,我知道简单和可配置产品之间的链接在catalog_product_relation、catalog_product_super_link 和/或catalog_product_link 中,因为我使用的是集合,所以不能只使用INNER JOIN

我正在从我的 magento 安装根目录中的 test.php 页面运行此代码

4

1 回答 1

3

尝试

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


if($_product->getTypeId() == "configurable"){
    $AssociatedProduct = $_product->getTypeInstance()->getUsedProducts(); 
} 

或者

if($_product->getTypeId() == "configurable"){
    $conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
    $col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
    foreach($col as $simple_product){
       var_dump($simple_product->getId());
    }
}

请参阅http://www.magentocommerce.com/boards/viewthread/41874/

于 2012-12-05T00:59:35.937 回答