Magento as a complete e-commerce package contains “3column template, 2column with right bar, 2column with left bar, 1 column” page templates as default templates that can be applied to the store view pages.
Some scenario will appear in which it requires either a completely new layout template for the page or the same template with different customization.
In that case its required to create a new layout template for the page, but as a Magento Extension.
Steps to create the new layout template are as follows:
Create a new module in our local folder in Magento, name it as Mage and create a Page module inside it.
As a module structure, Page contains only the etc folder which should contain your config.xml file. Copy the content of app/code/core/Mage/Page/config.xml to app/local/Mage/Page/config.xml.
Add the following code at the end of your custom config.xml file
<new_layout_template module="page" translate="label">
As mentioned in the above code you need to create a “.phtml” file for the new layout template.
Now create a new .phtml file in app/design/yourpackagename/theme/template/page and named its as new_layout_template.phtml and you can define your own layout design.
Finally you need to tell Magento about your extended module. So create Mage_Local.xml file inside app/etc/module folder add the following code
<Mage_Page><!--relates to file structure -->
<active>true</active><!--set to active -->
<codePool>local</codePool><!--tell whichfolder to look in -->
<depends><!--requires the mage core --><Mage_Core/></depends>
Now if you go to the cms pages in the design tab under choose a template dropdown it will show you your custom template and on select it will show the custom layout.
Creating a folder in local as Mage will not affect the core code. So, whenever you do Magento upgradation it will not over-write this module and will successfully update the core modules.