Create new module “HelloWorld” – in Magento
Do you want to create a new page in Magento ? or Do you want to create a new module in Magento ? If yes, Then ok, just spend 10 minutes and follow below steps.
Objectives: I will create a new page in Magento whose output will be “Hello World ! I am a Magento Guy..”.
Target: Create a new module called “HelloWorld”
Step 1: Module Declaration
Create app/etc/modules/M4U_HelloWorld.xml and write below code
1 2 3 4 5 6 7 8 9 |
<? 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
1 2 3 4 5 6 7 8 |
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
1 2 3 4 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<? 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 in app/design/frontend/default/default/layout/helloworld.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<? 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/
and see result.
That’s it……..
Is it easy or not ? what you think ?
Coder, Please at first try yourself.
Ohh.., Still are you facing problem ? Lets download full module source code from left panel “BOX” section or let me know.
Note: I have upgraded HelloWorld module source code of BOX widget. So it will resolve the problem which was faced by some guys.
No comments:
Post a Comment