我正在尝试开发一个只循环一个类别并显示这些产品的模块。以下代码执行此操作,但它将为该类别中的每个大小提取产品。有人可以帮我修改它只能拉配置吗?我使用的代码类似于:
$my_category_id ="12";
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect(array('name', 'price', 'small_image', 'short_description'), 'inner')
->addCategoryFilter(Mage::getModel('catalog/category')->load($my_category_id));
,循环就像:
<?php $i=0; foreach ($_productCollection as $_product): ?>
<?php if($_product->isSaleable()): ?>
<img class="<?php echo $_product->getId() ?>" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(150, 100); ?>" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" title="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" />
<?php else : ?>
<?php endif; ?>
<?php endforeach ?>
答案 0 :(得分:3)
将以下内容添加到项目集合中:
->addAttributeToFilter('type_id', array('eq' => Mage_Catalog_Model_Product_Type::CONFIGURABLE));
答案 1 :(得分:0)
试试这个
$my_category_id ="12";
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect(array('name','price','small_image','short_description'), 'inner')
->addAttributeToFilter('type_id',array('eq'=>Mage_Catalog_Model_Product_Type::CONFIGURABLE))
->addCategoryFilter(Mage::getModel('catalog/category')->load($my_category_id));