1

我认为这很简单,但我已经尝试了一段时间,但一无所获。我有一个类别,我想在 phtml 中显示所有产品,但要进行一些自定义。

但我无法获得某个类别的产品。我有这个代码的类别:

$_category = Mage::getModel('catalog/category')->loadByAttribute('name', 'Gifts');

我试过这个但没有用:

$categoryId = 25;
$category = Mage::getModel('catalog/category')->load($categoryId);
$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addCategoryFilter($category)
    ->load();

我使用这个糟糕的代码让它工作,但当然有更好的方法:

$_category = Mage::getModel('catalog/category')->loadByAttribute('name', 'Gifts');
$collection = Mage::getModel('catalog/product')->getCollection()
    ->addAttributeToSelect('*'); // select all attributes
foreach ($collection as $product) {
  foreach ($product->getCategoryIds() as $category_id) {
      $category = Mage::getModel('catalog/category')->load($category_id);
      if ($category->getName()=='Gifts'){
          echo $product->getName()."<br/>";
      }
  }
}

谢谢

4

1 回答 1

0

$products = $_category->getProductCollection();

foreach ($products as $product) {
    //for full product model
    $product = Mage::getModel('catalog/product')->load($product->getId());
}
于 2012-11-05T23:26:03.503 回答