Which Ways Exist In Magento To Add Router Classes?

Q. Which ways exist in Magento to add router classes?

1.
<config>
<default>

<web>
<routers> <!– declare default routers–>
<your_custom_router>
<area>frontend</area>
<class>Yournamespace_Yourmodule_Controller_Router</class>
</your_custom_router>
</routers>

</web>

</default>

</config>

Then you should declare your module router in a normal way, using the parameter <use>your_custom_router</use> instead of “standard”.

2. using event observer
<config>
<global>
<events>
<controller_front_init_routers>
<observers>
<cms>
<class>Mage_Cms_Controller_Router</class>
<method>initControllerRouters</method>
</cms>
</observers>
</controller_front_init_routers>
</events>
</global>
</config>

then in observer class,
public function initControllerRouters($observer)
{
/* @var $front Mage_Core_Controller_Varien_Front */
$front = $observer->getEvent()->getFront();

$front->addRouter(‘cms’, $this);
}

Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Zeen is a next generation WordPress theme. It’s powerful, beautifully designed and comes with everything you need to engage your visitors and increase conversions.

Read More
Which Product Types Are Implemented As Part Of The Mage_Catalog Module, And Which Are Not?