How To Create Simple Module in Magento 2 ?

How To Create Simple Module in Magento 2 ?

How To Create Simple Module in Magento 2 ?

Now, let’s start by following steps

Step 1: First 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/Phxsolution/Welcome/etc/module.xml

<?xml version="1.0"?>
<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
    <module name="Phxsolution_Welcome" schema_version="0.0.1" active="true"/>

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 Phxsolution_Welcome=>1. Please refer the below screen shot.

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

namespace \Welcome\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
    public function execute()

Step 4: Lets create a block for our module. Create a block called Welcome.php in below mentioned directory. app/code/Phxsolution/Welcome/Block/Welcome.php

namespace \Welcome\Block;
class Welcome extends \Magento\Framework\View\Element\Template
    public function _prepareLayout()
        return parent::_prepareLayout();

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/Phxsolution/Welcome/etc/frontend/routes.xml

<?xml version="1.0"?>
<config xmlns:xsi="" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd">
    <router id="standard">
        <route id="welcome" frontName="welcome">
            <module name="Phxsolution_Welcome" />

Step 6: Create a template file for the module. app/code/Phxsolution/Welcome/view/frontend/templates/welcome.phtml

<h1> Home Page </h2>
<h4>Hello World!</h4>
<?php echo 'CMS homepage content goes here.'?>

Step 7: In the final step we will create a layout in the following directory. app/code/Phxsolution/Welcome/view/frontend/layout/welcome_index_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
        <title>Welcome to Magento World</title>
        <referenceContainer name="content">
            <block name="welcome" template="welcome.phtml">

After completed all the steps, You can access the new welcome module.

Recommended Posts

Leave a Reply

Your email address will not be published. Required fields are marked *