Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save evgv/fabc7494db9520d8357822fb18a97791 to your computer and use it in GitHub Desktop.
Save evgv/fabc7494db9520d8357822fb18a97791 to your computer and use it in GitHub Desktop.
Magento. Observer method for redirect from empty category to parent.
    /**
     * Redirect from empty category to parent
     * Observe event - core_block_abstract_to_html_before
     * 
     * @param Varien_Event_Observer $observer
     */
    public function redirectToParentCategory(Varien_Event_Observer $observer)
    {
        Varien_Profiler::start(__METHOD__);
        
        try{
            if(!$this->getLayer()->getProductCollection()->getSize()) { 
                $redirect_url = $this->getLayer()->getCurrentCategory()->getParentCategory()->getUrlPath();
                if ($redirect_url){
                    Mage::app()->getResponse()
                               ->setRedirect(Mage::getUrl($redirect_url), 302);
                }
            }
        } catch (Exception $ex) {
            Mage::log($ex->getMessage(), null, __METHOD__."_ERR.log");
        }
        
        Varien_Profiler::stop(__METHOD__);
    }
    
    /**
     * Get layer object
     *
     * @return Mage_Catalog_Model_Layer
     */
    public function getLayer()
    {
        return Mage::getSingleton('catalog/layer');
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment