Featured post

Magento® 2.x How to create basic frontend module

How to create basic frontend module in Magneto 2 ?? Step 1. Decide a name space(Extendtree) & module name(Helloworld). Ex. Extendtre...

Saturday, 3 September 2016

Magento® 2.x How to create basic frontend module

How to create basic frontend module in Magneto 2 ??

Step 1. Decide a name space(Extendtree) & module name(Helloworld). Ex. Extendtree_Helloworld

Step 2. create directory as: magento2/app/code/Extendtree/Helloworld

Step 3. Add a xml file named "module.xml" in directory: magento2/app/code/Extendtree/Helloworld/etc/module.xml

<!--xml version="1.0"?--> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Extendtree_Helloworld" setup_version="0.0.1"/> </config>

Step 4. Create a registration.php in directory: magento2/app/code/Extendtree/Helloworld/registration.php

<!--php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Extendtree_Helloworld', __DIR__ ); </xmp--></strong> </div></p> <p><strong>Step 5. </strong>Now we have to enable our module, we have two ways to do this.<br> Enable module from config.php (located in directory <strong>magento2/app/etc/config.php </strong>) </p> <p><div class="source-code" style="font-weight: 5px; background-color: #a5c878"><strong><xmp> .............. 'Extendtree_Helloworld' => 1, .............

Or First run the command php bin/magento module:status to checked out enable modules in our magento2
To enable module use the command php bin/magento module:enable Extendtree_Helloworld

Step 6. Just after step 5 you have to execute a command bin/magento setup:upgrade
Else our magento site will through an error as Please upgrade your database: Run “bin/magento setup:upgrade” from the Magento root directory.

Step 7. Now our module is fully configured with magento system. To confirm this check in backend :Store->Configuration->Advanced

Step 8. Now create routers for your module. First add routes.xml in directory magento2/app/code/Extendtree/Helloworld/etc/frontend/routes.xml

<!--xml version="1.0"?--> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd"> <router id="standard"> <route id="extendtree" frontName="helloworld"> <module name="Extendtree_Helloworld" /> </route> </router> </config>

Step 9. Add controller to handle the requests in directory magento2/app/code/Extendtree/Helloworld/Controller/Test/Helloworld.php

<!--php namespace Extendtree\Helloworld\Controller\Test; class Helloworld extends \Magento\Framework\App\Action\Action { public function __construct( \Magento\Framework\App\Action\Context $context) { return parent::__construct($context); } public function execute() { echo 'Hello World'; exit; } } </xmp--></strong> </div></p> <p><strong>Step 10. </strong>Now open URL : <strong>http://__BASEURL__/extendtree/test/helloworld</strong></p> <p>Here is how the URL composed: <strong>http://__BASEURL__/route_id/controller_name/front_name</strong> </p> <p>&nbsp;</p> <p>Thank you..!!</p> <p><strong style="color: #de036f;">"The easy way for everything."</strong></p> </div> </div> <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://plus.google.com/107109859810953245130' itemprop='url'/> <a class='g-profile' href='https://plus.google.com/107109859810953245130' rel='author' title='author profile'> <span itemprop='name'> Akhil Gupta </span> </a> </span> </span> <span class='post-timestamp'> at <meta content='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html' itemprop='url'/> <a class='timestamp-link' href='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html' rel='bookmark' title='permanent link'> <abbr class='published' itemprop='datePublished' title='2016-09-03T07:58:00-07:00'> 07:58:00 </abbr> </a> </span> <span class='reaction-buttons'> <table border='0' cellpadding='0' cellspacing='0' width='100%'> <tr> <td class='reactions-label-cell' nowrap='nowrap' valign='top' width='1%'> <span class='reactions-label'> Reactions: </span> &#160; </td> <td> <iframe allowtransparency='true' class='reactions-iframe' frameborder='0' name='reactions' scrolling='no' src='https://www.blogger.com/blog-post-reactions.g?options=%5Bfunny,+interesting,+cool%5D&amp;textColor=%23999999#http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html'></iframe> </td> </tr> </table> </span> <span class='post-comment-link'> </span> <span class='post-backlinks post-comment-link'> </span> <span class='post-icons'> </span> <div class='post-share-buttons goog-inline-block'> <a class='goog-inline-block share-button sb-email' href='https://www.blogger.com/share-post.g?blogID=5409553795945628732&postID=672313850244854459&target=email' target='_blank' title='Email This'> <span class='share-button-link-text'> Email This </span> </a> <a class='goog-inline-block share-button sb-blog' href='https://www.blogger.com/share-post.g?blogID=5409553795945628732&postID=672313850244854459&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'> <span class='share-button-link-text'> BlogThis! </span> </a> <a class='goog-inline-block share-button sb-twitter' href='https://www.blogger.com/share-post.g?blogID=5409553795945628732&postID=672313850244854459&target=twitter' target='_blank' title='Share to Twitter'> <span class='share-button-link-text'> Share to Twitter </span> </a> <a class='goog-inline-block share-button sb-facebook' href='https://www.blogger.com/share-post.g?blogID=5409553795945628732&postID=672313850244854459&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'> <span class='share-button-link-text'> Share to Facebook </span> </a> <a class='goog-inline-block share-button sb-pinterest' href='https://www.blogger.com/share-post.g?blogID=5409553795945628732&postID=672313850244854459&target=pinterest' target='_blank' title='Share to Pinterest'> <span class='share-button-link-text'> Share to Pinterest </span> </a> <div class='goog-inline-block google-plus-share-container'> <g:plusone source='blogger:blog:plusone' href='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html' size='medium' width='300' annotation='inline'/> </div> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='http://thisisakhilgupta.blogspot.com/search/label/Magento%202.x' rel='tag'> Magento 2.x </a> , <a href='http://thisisakhilgupta.blogspot.com/search/label/Magento-%20An%20Ecommerce%20Framework' rel='tag'> Magento- An Ecommerce Framework </a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> <div class='author-profile' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <img itemprop='image' src='//lh4.googleusercontent.com/-_NY2S5gadjA/AAAAAAAAAAI/AAAAAAAAAbk/bJnwAgFc4kc/s512-c/photo.jpg' width='50px'/> <div> <a class='g-profile' href='https://plus.google.com/107109859810953245130' itemprop='url' rel='author' title='author profile'> <span itemprop='name'> Akhil Gupta </span> </a> </div> <span itemprop='description'> Hey Guys,<br><br>Welcome to my Google Plus Account..!! My name is Akhil. I am a Software Engineer + I like to make things easy to learn. These things are not limited to IT technologies as my profession says but lots of other interesting things. The main purpose of this account is to provide quick and easy tutorials, self Improvement tips etc in a easiest possible way and also making funny videos. I hope you guys will love it. <br><br>Give me a high five by following this account. You can always drop me a message for any help or If you want me to make a video or tutorial for any topic.<br><br>Here all my Social Network Accounts you can connect with :<br><br>***YouTube:&nbsp; https://www.youtube.com/user/thisisakhilgupta/<br>***Facebook:&nbsp; https://www.facebook.com/thisisakhilgupta/<br>***Instagram: https://www.instagram.com/thisisakhilgupta/<br>***Twitter: https://twitter.com/iamakhilgupta<br>***Google Plus: https://plus.google.com/+thisisakhilgupta<br><br>See you later.. !! Have Fun .. !! Cheers.. !! All The Best..!! Good Luck..!! God Bless You.. !!<br><br>Thanks<br>Akhil<br> </span> </div> </div> </div> <div class='comments' id='comments'> <a name='comments'></a> <h4> No comments : </h4> <div id='Blog1_comments-block-wrapper'> <dl class='avatar-comment-indent' id='comments-block'> </dl> </div> <p class='comment-footer'> <div class='comment-form'> <a name='comment-form'></a> <h4 id='comment-post-message'> Post a Comment </h4> <p> </p> <a href='https://www.blogger.com/comment-iframe.g?blogID=5409553795945628732&postID=672313850244854459' id='comment-editor-src'></a> <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410px' id='comment-editor' name='comment-editor' src='' width='100%'></iframe> <!--Can't find substitution for tag [post.friendConnectJs]--> <script src='https://www.blogger.com/static/v1/jsbin/2567313873-comment_from_post_iframe.js' type='text/javascript'></script> <script type='text/javascript'> BLOG_CMT_createIframe('https://www.blogger.com/rpc_relay.html'); </script> </div> </p> <div id='backlinks-container'> <div id='Blog1_backlinks-container'> </div> </div> </div> </div> <div class='inline-ad'> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- thisisakhilgupta_main_Blog1_1x1_as --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2194451013493007" data-ad-host="ca-host-pub-1556223355139109" data-ad-host-channel="L0007" data-ad-slot="2336786379" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div></div> </div> <div class='blog-pager' id='blog-pager'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-custom-theme.html' id='Blog1_blog-pager-newer-link' title='Newer Post'> Newer Post </a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-create-custom-event.html' id='Blog1_blog-pager-older-link' title='Older Post'> Older Post </a> </span> <a class='home-link' href='http://thisisakhilgupta.blogspot.com/'> Home </a> </div> <div class='clear'></div> <div class='post-feeds'> <div class='feed-links'> Subscribe to: <a class='feed-link' href='http://thisisakhilgupta.blogspot.com/feeds/672313850244854459/comments/default' target='_blank' type='application/atom+xml'> Post Comments ( Atom ) </a> </div> </div> <script type="text/javascript">window.___gcfg = {'lang': 'en_GB'};</script> </div></div> </div> </div> <div class='column-left-outer'> <div class='column-left-inner'> <aside> </aside> </div> </div> <div class='column-right-outer'> <div class='column-right-inner'> <aside> <div class='sidebar section' id='sidebar-right-1'><div class='widget PlusFollowers' data-version='1' id='PlusFollowers1'> <h2 class='title'>Google+ Followers</h2> <div class='widget-content'> <div class='g-plus' data-action='followers' data-height='300' data-href='https://plus.google.com/107109859810953245130' data-source='blogger:blog:followers' data-theme='DARK' data-width='302'></div> <script type='text/javascript'> window.___gcfg = {'lang': 'en_GB'}; </script> </div> </div><div class='widget Followers' data-version='1' id='Followers1'> <h2 class='title'>Followers</h2> <div class='widget-content'> <div id='Followers1-wrapper'> <div style='margin-right:2px;'> <div><script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <div id="followers-iframe-container"></div> <script type="text/javascript"> window.followersIframe = null; function followersIframeOpen(url) { gapi.load("gapi.iframes", function() { if (gapi.iframes && gapi.iframes.getContext) { window.followersIframe = gapi.iframes.getContext().openChild({ url: url, where: document.getElementById("followers-iframe-container"), messageHandlersFilter: gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER, messageHandlers: { '_ready': function(obj) { window.followersIframe.getIframeEl().height = obj.height; }, 'reset': function() { window.followersIframe.close(); followersIframeOpen("https://www.blogger.com/followers.g?blogID\x3d5409553795945628732\x26colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByNjY2NjY2MiByNmZjk5MDAqC3RyYW5zcGFyZW50MgcjZmZmZmZmOgcjY2NjY2NjQgcjZmY5OTAwSgcjMDAwMDAwUgcjZmY5OTAwWgt0cmFuc3BhcmVudA%3D%3D\x26pageSize\x3d21\x26postID\x3d672313850244854459\x26origin\x3dhttp://thisisakhilgupta.blogspot.com/"); }, 'open': function(url) { window.followersIframe.close(); followersIframeOpen(url); }, 'blogger-ping': function() { } } }); } }); } followersIframeOpen("https://www.blogger.com/followers.g?blogID\x3d5409553795945628732\x26colors\x3dCgt0cmFuc3BhcmVudBILdHJhbnNwYXJlbnQaByNjY2NjY2MiByNmZjk5MDAqC3RyYW5zcGFyZW50MgcjZmZmZmZmOgcjY2NjY2NjQgcjZmY5OTAwSgcjMDAwMDAwUgcjZmY5OTAwWgt0cmFuc3BhcmVudA%3D%3D\x26pageSize\x3d21\x26postID\x3d672313850244854459\x26origin\x3dhttp://thisisakhilgupta.blogspot.com/"); </script></div> </div> </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=5409553795945628732&widgetType=Followers&widgetId=Followers1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Followers1"));' target='configFollowers1' title='Edit'> <img alt='' height='18' src='https://resources.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div> </div><div class='widget Profile' data-version='1' id='Profile1'> <h2>About Me</h2> <div class='widget-content'> <a href='https://plus.google.com/107109859810953245130'><img alt='My photo' class='profile-img' height='80' src='//lh4.googleusercontent.com/-_NY2S5gadjA/AAAAAAAAAAI/AAAAAAAAAbk/bJnwAgFc4kc/s80-c/photo.jpg' width='80'/></a> <dl class='profile-datablock'> <dt class='profile-data'> <a class='profile-name-link g-profile' href='https://plus.google.com/107109859810953245130' rel='author' style='background-image: url(//www.google.com/images/icons/ui/gprofile_button-16.png);'> Akhil Gupta </a> <br/> <div class='g-follow' data-annotation='bubble' data-height='20' data-href='https://plus.google.com/107109859810953245130'></div> </dt> <dd class='profile-textblock'>Hey Guys,<br><br>Welcome to my Google Plus Account..!! My name is Akhil. I am a Software Engineer + I like to make things easy to learn. These things are not limited to IT technologies as my profession says but lots of other interesting things. The main purpose of this account is to provide quick and easy tutorials, self Improvement tips etc in a easiest possible way and also making funny videos. I hope you guys will love it. <br><br>Give me a high five by following this account. You can always drop me a message for any help or If you want me to make a video or tutorial for any topic.<br><br>Here all my Social Network Accounts you can connect with :<br><br>***YouTube:&nbsp; https://www.youtube.com/user/thisisakhilgupta/<br>***Facebook:&nbsp; https://www.facebook.com/thisisakhilgupta/<br>***Instagram: https://www.instagram.com/thisisakhilgupta/<br>***Twitter: https://twitter.com/iamakhilgupta<br>***Google Plus: https://plus.google.com/+thisisakhilgupta<br><br>See you later.. !! Have Fun .. !! Cheers.. !! All The Best..!! Good Luck..!! God Bless You.. !!<br><br>Thanks<br>Akhil<br></dd> </dl> <a class='profile-link' href='https://plus.google.com/107109859810953245130' rel='author'>View my complete profile</a> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=5409553795945628732&widgetType=Profile&widgetId=Profile1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Profile1"));' target='configProfile1' title='Edit'> <img alt='' height='18' src='https://resources.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div> </div><div class='widget PopularPosts' data-version='1' id='PopularPosts1'> <h2> Popular Posts </h2> <div class='widget-content popular-posts'> <ul> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html'> Magento&#174; 2.x How to create basic frontend module </a> </div> <div class='item-snippet'> How to create basic frontend module in Magneto 2 ?? Step 1. Decide a name space(Extendtree) &amp; module name(Helloworld). Ex. Extendtre... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-thumbnail'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/how-to-deliver-good-presentation-to.html' target='_blank'> <img alt='' border='0' src='https://lh5.googleusercontent.com/proxy/F52Gxoq_HHYojmWQKVY_jHnbaLWOJ4nF9YGrL_jwkz_se3yxFm_mImuk5bHYu8YR3j7mtwLK7urhlCD4AGJFK_jDhbg=w72-h72-n-k-no-nu'/> </a> </div> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/how-to-deliver-good-presentation-to.html'> How to deliver good presentation to your audience (Easy Way) </a> </div> <div class='item-snippet'> Let&#39;s have a look at the 6 points : We have to be Well Dressed Work on body language Start with your brief description Have a smi... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-1x-event-observers-create-basic.html'> Magento 1.x&#174; Event Observers- Create basic events </a> </div> <div class='item-snippet'> How to use Magneto events observers?? Step 1. Create global configuration File Step 2. Create module configuration file Step 3. Crea... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-1x-routers-override-how-to.html'> Magento 1.x &#174; Routers Override- How to override controllers </a> </div> <div class='item-snippet'> How to override Magneto controllers?? Step 1. Create global configuration File Step 2. Create module configuration file Step 3. Crea... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-thumbnail'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/interview-preparation-tips-some-common.html' target='_blank'> <img alt='' border='0' src='https://lh3.googleusercontent.com/proxy/Lv6xyUbD2DKI6YDzFVjeVjsxtItcVc4C48DMV-aWRQQsq2t7uLq4OxpL_bFPLyz5EWhUar81iMGMUOzDBefoaPTVxTw=w72-h72-n-k-no-nu'/> </a> </div> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/interview-preparation-tips-some-common.html'> Interview preparation Tips-some common Interview questions (Easy way) </a> </div> <div class='item-snippet'> Let&#39;s have a look in some easy interview tips &amp; questions : Question 1. Tell me something about yourself? Question 2- Why we hi... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-1x-cron-job-how-to-create-basic.html'> Magento 1.x &#174; Cron Job- How to create basic cron module. </a> </div> <div class='item-snippet'> How to use Magneto crons?? Step 1. Create global configuration File Step 2. Create module configuration file Step 3. Create module m... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-1x-rewrite-magento-rewrite.html'> Magento 1.x &#174; Rewrite- magento rewrite Helpers, Blocks, Models </a> </div> <div class='item-snippet'> How to rewrite Magneto core classes?? Step 1. Create global configuration File Step 2. Create module configuration file Step 3. Crea... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-thumbnail'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-1x-installation-video-tutorial.html' target='_blank'> <img alt='' border='0' src='https://lh6.googleusercontent.com/proxy/bUayhPsO0Nx7vl37EVKg7LcU3c8q2X8nZo2zPVTNYRwJJmIJyD2H-ZWYjocXL09NJd-PcqIaex0vrH5Xw4zreGVSnlI=w72-h72-n-k-no-nu'/> </a> </div> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-1x-installation-video-tutorial.html'> Magento&#174; 1.x Installation -Video Tutorial </a> </div> <div class='item-snippet'> Complete Instructions &#160; Thank you..!! &quot;The easy way for everything.&quot; </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-custom-theme.html'> Magento&#174; 2.x How to create custom theme </a> </div> <div class='item-snippet'> How to create custom theme in Magneto 2 ?? Step 1. Create Theme Directory. Ex. magento2/app/design/frontend/extendtree/customtheme. S... </div> </div> <div style='clear: both;'></div> </li> <li> <div class='item-content'> <div class='item-title'> <a href='http://thisisakhilgupta.blogspot.com/2016/09/magento-system-configuration-how-to.html'> Magento1.x &#174; System Configuration -How to create simple configuration settings. </a> </div> <div class='item-snippet'> How to create Magneto System Configuration Settings?? Step 1. Create global configuration File Step 2. Create module configuration fi... </div> </div> <div style='clear: both;'></div> </li> </ul> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=5409553795945628732&widgetType=PopularPosts&widgetId=PopularPosts1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("PopularPosts1"));' target='configPopularPosts1' title='Edit'> <img alt='' height='18' src='https://resources.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div> </div></div> </aside> </div> </div> </div> <div style='clear: both'></div> <!-- columns --> </div> <!-- main --> </div> </div> <div class='main-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <footer> <div class='footer-outer'> <div class='footer-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left footer-fauxborder-left'> <div class='fauxborder-right footer-fauxborder-right'></div> <div class='region-inner footer-inner'> <div class='foot no-items section' id='footer-1'></div> <table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'> <tbody> <tr> <td class='first columns-cell'> <div class='foot no-items section' id='footer-2-1'></div> </td> <td class='columns-cell'> <div class='foot section' id='footer-2-2'><div class='widget ContactForm' data-version='1' id='ContactForm1'> <h2 class='title'> Contact Form </h2> <div class='contact-form-widget'> <div class='form'> <form name='contact-form'> <p></p> Name <br/> <input class='contact-form-name' id='ContactForm1_contact-form-name' name='name' size='30' type='text' value=''/> <p></p> Email <span style='font-weight: bolder;'> * </span> <br/> <input class='contact-form-email' id='ContactForm1_contact-form-email' name='email' size='30' type='text' value=''/> <p></p> Message <span style='font-weight: bolder;'> * </span> <br/> <textarea class='contact-form-email-message' cols='25' id='ContactForm1_contact-form-email-message' name='email-message' rows='5'></textarea> <p></p> <input class='contact-form-button contact-form-button-submit' id='ContactForm1_contact-form-submit' type='button' value='Send'/> <p></p> <div style='text-align: center; max-width: 222px; width: 100%'> <p class='contact-form-error-message' id='ContactForm1_contact-form-error-message'></p> <p class='contact-form-success-message' id='ContactForm1_contact-form-success-message'></p> </div> </form> </div> </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=5409553795945628732&widgetType=ContactForm&widgetId=ContactForm1&action=editWidget&sectionId=footer-2-2' onclick='return _WidgetManager._PopupConfig(document.getElementById("ContactForm1"));' target='configContactForm1' title='Edit'> <img alt='' height='18' src='https://resources.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div></div> </td> </tr> </tbody> </table> <!-- outside of the include in order to lock Attribution widget --> <div class='foot section' id='footer-3' name='Footer'><div class='widget Attribution' data-version='1' id='Attribution1'> <div class='widget-content' style='text-align: center;'> &#169; 2016 Thisisakhilgupta. All Rights Reserved.. Powered by <a href='https://www.blogger.com' target='_blank'>Blogger</a>. </div> <div class='clear'></div> <span class='widget-item-control'> <span class='item-control blog-admin'> <a class='quickedit' href='//www.blogger.com/rearrange?blogID=5409553795945628732&widgetType=Attribution&widgetId=Attribution1&action=editWidget&sectionId=footer-3' onclick='return _WidgetManager._PopupConfig(document.getElementById("Attribution1"));' target='configAttribution1' title='Edit'> <img alt='' height='18' src='https://resources.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/> </a> </span> </span> <div class='clear'></div> </div></div> </div> </div> <div class='footer-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </footer> <!-- content --> </div> </div> <div class='content-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <script type='text/javascript'> window.setTimeout(function() { document.body.className = document.body.className.replace('loading', ''); }, 10); </script> <script src='https://apis.google.com/js/plusone.js' type='text/javascript'></script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/2647409398-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY52GoiajC76Ja19iwBRr1fkscodrA:1534791644523';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d5409553795945628732','//thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html','5409553795945628732'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '5409553795945628732', 'title': 'Akhil Gupta', 'url': 'http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html', 'canonicalUrl': 'http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html', 'homepageUrl': 'http://thisisakhilgupta.blogspot.com/', 'searchUrl': 'http://thisisakhilgupta.blogspot.com/search', 'canonicalHomepageUrl': 'http://thisisakhilgupta.blogspot.com/', 'blogspotFaviconUrl': 'http://thisisakhilgupta.blogspot.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'en-GB', 'localeUnderscoreDelimited': 'en_gb', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Akhil Gupta - Atom\x22 href\x3d\x22http://thisisakhilgupta.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Akhil Gupta - RSS\x22 href\x3d\x22http://thisisakhilgupta.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Akhil Gupta - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/5409553795945628732/posts/default\x22 /\x3e\n\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Akhil Gupta - Atom\x22 href\x3d\x22http://thisisakhilgupta.blogspot.com/feeds/672313850244854459/comments/default\x22 /\x3e\n', 'meTag': '', 'adsenseClientId': 'ca-pub-2194451013493007', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': true, 'ieCssRetrofitLinks': '\x3c!--[if IE]\x3e\x3cscript type\x3d\x22text/javascript\x22 src\x3d\x22https://www.blogger.com/static/v1/jsbin/3762807459-ieretrofit.js\x22\x3e\x3c/script\x3e\n\x3c![endif]--\x3e', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/7403404f0126489c', 'plusOneApiSrc': 'https://apis.google.com/js/plusone.js', 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'Twitter', 'key': 'twitter', 'shareMessage': 'Share to Twitter', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Google+', 'key': 'googlePlus', 'shareMessage': 'Share to Google+', 'target': 'googleplus'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'googlePlusShareButtonWidth': 300, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en_GB\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'item', 'postId': '672313850244854459', 'pageName': 'Magento&#174; 2.x How to create basic frontend module', 'pageTitle': 'Akhil Gupta: Magento&#174; 2.x How to create basic frontend module', 'metaDescription': ''}}, {'name': 'features', 'data': {'cmt_anon_warn': 'false', 'sharing_get_link_dialog': 'true', 'sharing_native': 'false'}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard', 'ok': 'Ok', 'postLink': 'Post link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Magento&#174; 2.x How to create basic frontend module', 'description': 'How to make Java, PHP Web Project. Magento E commerce, Personality development, Interview preparation easy way for everything. Akhil Gupta', 'url': 'http://thisisakhilgupta.blogspot.com/2016/09/magento-2x-how-to-create-basic-frontend.html', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 672313850244854459}}]); _WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', null, document.getElementById('Navbar1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', null, document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FeaturedPostView', new _WidgetInfo('FeaturedPost1', 'crosscol', null, document.getElementById('FeaturedPost1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', null, document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'useNgc': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/2397695905-lbx__en_gb.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/368954415-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_PlusFollowersView', new _WidgetInfo('PlusFollowers1', 'sidebar-right-1', null, document.getElementById('PlusFollowers1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_FollowersView', new _WidgetInfo('Followers1', 'sidebar-right-1', null, document.getElementById('Followers1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', null, document.getElementById('Profile1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'sidebar-right-1', null, document.getElementById('PopularPosts1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ContactFormView', new _WidgetInfo('ContactForm1', 'footer-2-2', null, document.getElementById('ContactForm1'), {'contactFormMessageSendingMsg': 'Sending...', 'contactFormMessageSentMsg': 'Your message has been sent.', 'contactFormMessageNotSentMsg': 'Message could not be sent. Please try again later.', 'contactFormInvalidEmailMsg': 'A valid email address is required.', 'contactFormEmptyMessageMsg': 'Message field cannot be empty.', 'title': 'Contact Form', 'blogId': '5409553795945628732', 'contactFormNameMsg': 'Name', 'contactFormEmailMsg': 'Email', 'contactFormMessageMsg': 'Message', 'contactFormSendMsg': 'Send', 'submitUrl': 'https://www.blogger.com/contact-form.do'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', null, document.getElementById('Attribution1'), {}, 'displayModeFull')); </script> </body> </html>