Search code examples
phpmagentomagento-1.7magento-1.9magento-1.8

how to change the layout of category page in magento1.9


I'm trying to change the layout of category page in Magento through the admin panel. Did all the changes as needed showing below in image:

custom tab of deafult

In sub-category, I did [Custom Design->Use Parent Category Setting-> yes]

but the problem is changes aren't reflecting in the frontend, no matter whatever the layout is chosen. this is the view of my frontend page Added the block in local.xml too.

   <?xml version="1.0"?>
<layout version="0.1.0">
<default>
</default>
<catalog_category_default>
  <reference name="root">
    <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
  </reference>
</catalog_category_default>
</layout>

Solution

  • I think the best way is you debug code yourself. You can debug Mage_Catalog_CategoryController->viewAction(). Generally, once you have custom page layout(1columns, 2colums-left...) for this category, this page layout will be applied to root block. In a word in your case, custom page layout that you set on backend is the final page layout for your category page no matter what you set in catalog.xml

    You need to debug what custom layout for your category page, public function viewAction() {

      if ($category = $this->_initCatagory()) {
            $design = Mage::getSingleton('catalog/design');
            $settings = $design->getDesignSettings($category);
            //change start
            var_dump($settings->getPageLayout());exit;
            // change end
    
        ********
    
    }
    

    dig to function $design->getDesignSettings($category) if you do not get what you expect.