Home » Magento Themes » Creating custom router in Magento

Creating custom router in Magento

How to create custom router, as many of us use the standard router? You should know that Magento has four types of the routers: admin, standard, cms and default – they are loading in the order we’ve described. But, have you ever faced with such configuration?

If you look to  <use>standard</use>  code, that means – Magento will use the standard router for processing requests and URLs,  and when you follow magento.dev/test-frontname URL, in this case, Magento says for the standard router that it should take action indexAction from IndexController from module Atwix_Test – it is not so complicated, we guess. Actually, when the requests come to Magento, then it calls all routers till one of them will response – otherwise, there 404 page will be displayed.

Now, let’s start creating own router. First of all, we need to declare router in config.xml:

After this, we should create file that will contain class  Atwix_Test_Controller_Router app/code/local/Atwix/Test/Controller/Router.php:

The previous code explains Magento that it should transmit control to the indexAction function which is placed in app/code/local/Atwix/Test/controllers/IndexController.php., and your router will be called after admin and standard, but if these routers do not respond for the requests – then your router will be called.

So, now you can check request, proceed it and show page you want  before Magento will throw “Not found” page. Hope that simple tutorial will be useful.

About Gareth

avatar
Gareth is an editor at Tutorial Magento. His special hobby is to share magento knowledge and experience with everyone.

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Scroll To Top