Home » Magento

Magento: How to get controller, module, action and router name?

7 January 2010 9,220 views Popularity: 19% Share/Bookmark

email

You can easily get controller name, action name, router name and module name in template file or in any class file.

IN TEMPLATE FILES

$this->getRequest() can be used in template (phtml) files.

Here is the code:

/**
 * get Controller name
 */
$this->getRequest()->getControllerName();

/**
 * get Action name, i.e. the function inside the controller
 */
$this->getRequest()->getActionName();

/**
 * get Router name
 */
$this->getRequest()->getRouteName();

/**
 * get module name
 */
$this->getRequest()->getModuleName();

IN CLASS FILES

$this might not work in class (php) files. In this case, you need to use Mage::app().

Here is the code:

/**
 * get Controller name
 */
Mage::app()->getRequest()->getControllerName();

/**
 * get Action name, i.e. the function inside the controller
 */
Mage::app()->getRequest()->getActionName();

/**
 * get Router name
 */
Mage::app()->getRequest()->getRouteName();

/**
 * get module name
 */
Mage::app()->getRequest()->getModuleName();

The above functions (getControllerName, getActionName, getRouteName, getModuleName) are present in the class Mage_Core_Model_Url.

You can explore all requests with print_r.

echo "<pre>";
    print_r(Mage::app()->getRequest());
echo "</pre>";

Hope this helps. Thanks.

Related posts:

  1. Magento: Block Controller Model Helper Override
  2. Magento: Set title, keywords and description in your module
  3. Magento: Admin Controller Override
  4. Magento: Redirect Customer to Login page if not logged in
  5. Magento: Fatal error: Call to a member function setSaveParametersInSession() on a non-object
  6. Magento: Access denied in admin of custom module
  7. Magento: How to change or reorder top links?
  8. Magento: Upgrading mysql setup of a module
  9. jQuery: Grey out background and preview image as popup
  10. PHP 5.3 & Magento Older Versions: How to use them together?
  • http://www.facebook.com/AuVuongLe Chinsu Man

    Thanks for your answer. Y are very good friend. How do you do.

  • Tobias Hinz

    very nice, thx 

  • Vishal Lakhani

    Thanx…. Great info