Your Ad Here

Saturday, July 14, 2012

Create magento module

Create a new module in magnto or want to create a new page in Magento. If yes, Then ok, just spend 10 minutes and follow below steps.


Target: Create a new module called “HelloWorld”
Step 1: Module Declaration
Create app/etc/modules/M4U_HelloWorld.xml and write below code

<?xml version="1.0"?>
<config>
         <modules>
                <M4U_HelloWorld>
                        <active>true</active>
                        <codePool>local</codePool>
                </M4U_HelloWorld>
         </modules>
</config>
 
 
Step 2: Module Configuration
a. Create a controller class app/code/local/M4U/HelloWorld/controllers/IndexController.php
class M4U_HelloWorld_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
     $this->loadLayout(array('default'));
     $this->renderLayout();
    }
}
 
b. Create a Block class app/code/local/M4U/HelloWorld/Block/HelloWorld.php
 
class M4U_HelloWorld_Block_HelloWorld extends Mage_Core_Block_Template
{
  // necessary methods
}
 
 
c. create configuration xml in app/code/local/M4U/HelloWorld/etc/config.xml
 
<?xml version="1.0"?>
<config>
 <global>
  <modules>
                <m4u_helloworld>
                        <version>0.1.0</version>
                </m4u_helloworld>
        </modules>
 <blocks>
            <helloworld>
                <rewrite>
   <helloworld>M4U_HelloWorld_Block_HelloWorld</helloworld>
  </rewrite>
            </helloworld>
  </blocks>

        </global>
    <frontend>
                <routers>
                        <helloworld>
                                <use>standard</use>
                                <args>
                                      <module>M4U_HelloWorld</module>
                                      <frontName>helloworld</frontName>
                                </args>
                        </helloworld>
                </routers>
  <layout>
   <updates>
    <helloworld>
             <file>helloworld.xml</file>
    </helloworld>
   </updates>
         </layout>
        </frontend>
</config>
 
 
Define Frontend Template :
1. Define page layout in app/design/frontend/M4U/default/layout/helloworld.xml
N.B: Use default instead of M4U as template location if you use default design packages. Means create file inapp/design/frontend/default/default/layout/helloworld.xml
<?xml version="1.0"?>

 <layout version="0.1.0">

  <helloworld_index_index>
   <reference name="root">
    <action method="setTemplate"><template>page/1column.phtml</template></action>
          </reference>
   <reference name="content">
             <block type="helloworld/helloworld" name="hello" template="helloworld/helloworld.phtml"/>
         </reference>
  </helloworld_index_index>

 </layout>
 
 
2. Create template file app/design/frontend/M4U/default/template/helloworld/helloworld.phtml and write down
N.B: Use default instead of M4U as template location if you use default design packages. Means create file in app/design/frontend/default/default/template/helloworld/helloworld.phtml
Hello World ! I am a Magento Guy..
Hey, new module is ready to run and hit browser with url http://127.0.0.1/projectname/index.php/helloworld/

 
 

No comments:

Post a Comment