Skip to main content
Blog General


Mohan Natarajan
March 4, 2015 |

Looking for a certified Magento developer? Start your project with us and we will build and take care of your Magento store.

This blog post is part of the ongoing series of Magento 2 articles that we have been concentrating for the past few weeks.  Let’s have a look at creating modules in Magento 2.

To Create a Module in Magento 2

To create the module, lets understand the differences in directory structure between the two versions of Magento. In Magento 2, code pools are eliminated from the code-base file structure, now all the modules are grouped by vendor. We can now directly create the modules inside the app/code directory.

[table id=8 /]

Now, let’s understand the steps involved in creating a simple Welcome module with namespace Dckap.

Step 1: We need to create a module.xml to declare a module in our Magento store.

Create the file name called module.xml under app/code/Dckap/Welcome/etc/module.xml

Step 2: We need to enable our module by editing the config.xml file which can be found in app/etc/config.xml directory. Add ‘Dckap_Welcome’=>1. Please refer the below screen shot. In line no 124 I have added ‘Dckap_Welcome’=>1 to enable our module. magento 2

Step 3: Next, we need to create a controller file. Create a file name called index.php in the following directory app/code/Dckap/Welcome/Controller/Index/Index.php . Here the folder Index is name of the controller and index.php is an action file.

Step 4: Lets create a block for our module. Create a block called Welcome.php in below mentioned directory. app/code/Dckap/Welcome/Block/Welcome.php  Step 5: Once the block is completed, create a front end router file by adding an xml file, “routes.xml” in the following directory.   app/code/Dckap/Welcome/etc/frontend/routes.xml

Step 6: Create a template file for the module. app/code/Dckap/Welcome/view/frontend/templates/welcome.phtmlStep 7: In the final step we will create a layout in the following directory. app/code/Dckap/Welcome/view/frontend/layout/welcome_index_index.xml

In Magento 2, we need to create the xml file in the above format, router name followed by the controller name and then the action name.

Once we have completed all the steps, we can now access the new welcome module.

magento 2 modules

This is just a quick way to create a simple welcome module in Magento 2. Based on these basic techniques we can create customized modules according to our business needs. As we explore more into Magento 2, in the following weeks we shall have an in depth analysis on the other features. Follow us on Twitter or LinkedIn to see our next post.

Mohan Natarajan

A speaker at Imagine 2017, Mohan heads the Customer Success at DCKAP. Within a span of 7 years, Mohan has acquired all four Magento Certificates and offers impeccable knowledge in the Magento platform, and has evolved as a Solution Architect, developing a handful of Magento Extensions for numerous B2B customers. In addition to being an active member of Chennai Magento Community, he leads the Chennai Magento Meetup events. He is keen and proud to serve the eCommerce Community, thanks to his boundless expertise in the ecosystem. Furthermore, he was honored as one of the top contributors in the 2017 Magento Live India event and 2018 Meet Magento India event. Being a huge fan of the Magento Community, Mohan is glued to Twitter and LinkedIn. Loves to surf and play Table Tennis, when not working in Magento projects and managing DCKAP Store.

More posts by Mohan Natarajan