Reading list Switch to dark mode

    Magento : Shop By Category

    Updated 9 October 2012

    Shop By Category in Magento HomePage : or Layered navigation in CMS page or front page . This is Very common problem  with every magento developers . After Banging my head here i am writing a simple back for this . This will display the output like this on homepage of magento

    Shop By Catagory

    Shop By Catagory

    And here is the complete code .First of all go to CMS page of your homepage and add this refrence code in your design Layout Update XML tab

    <reference name="left">
    <block type="catalog/layer_view" before="-" 
    name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
    </reference>

    This will show the above picture result but when you’ll mouse over on it it will show the link like this

    example.com/?cat=13 or similar like that but when you’ll click on it  , it will not work . so here is the million dollar hack for it

    go to  app/code/core/Mage/Catalog/Model/Layer/Filter and open item.php

    Searching for an experienced
    Magento Company ?
    Find out More

    and replace your getUrl() function to the following one

    public function getUrl()
        {
            if ($this->getFilter() instanceof Mage_Catalog_Model_Layer_Filter_Category) {
                $category = Mage::getModel('catalog/category')->load($this->getValue());
                return $category->getUrl();
            } else {
                $query = array(
                    $this->getFilter()->getRequestVar()=>$this->getValue(),
                    Mage::getBlockSingleton('page/html_pager')->getPageVarName() => null // exclude current page from urls
                );
                return Mage::getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true, '_query'=>$query));
            }
        }

    enjoy 🙂

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    Be the first to comment.

    Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home