Skip to main content

getCategoryId

ProductListing based on Attribute in Magento
$_productCollection=$this->getLoadedProductCollection()
/* .... */
$_productCollection->clear()->addAttributeToFilter('suggestion', 1)->load();
   
// if this is a product view page
if (Mage::registry('product')) {
    // get collection of categories this product is associated with
    $categories = Mage::registry('product')->getCategoryCollection()
        ->setPage(1, 1)
        ->load();
    // if the product is associated with any category
    if ($categories->count()) {
        // show products from this category
        $this->setCategoryId(current($categories->getIterator()));
    }
}

$origCategory = null;
if ($this->getCategoryId()) {
    $category = Mage::getModel('catalog/category')->load($this->getCategoryId());
    if ($category->getId()) {
        $origCategory = $layer->getCurrentCategory();
        $layer->setCurrentCategory($category);
    }
}
$this->_productCollection = $layer->getProductCollection();
$this->_productCollection->addAttributeToFilter('suggestion', 1);
if($this->_productCollection->count()) {
    foreach($this->_productCollection as $_productKey => $_product) {
        if($_product->getSuggestion() == 0 || !$_product->getSuggestion()) {

        }
    }
}

$this->prepareSortableFieldsByCategory($layer->getCurrentCategory());

if ($origCategory) {
    $layer->setCurrentCategory($origCategory);
}
return $this->_productCollection;