Magento 1有许多模块,控制器,操作和路由器,因此从URL请求中找到模块,控制器,操作或路由器名称的实际名称并不困难。在我们开发Magento网站的过程中,我们需要多次从当前的URL请求中获取模块,控制器和操作名称。这篇文章展示了我们如何在Magento中获取当前模块,控制器,操作和路由的名称。
在模板文件中使用以下代码:
$ this-> getRequest()可用于模板(phtml)文件。
这是代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /** * get module name */ $this->getRequest()->getModuleName(); /** * 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(); |
在类文件中使用以下代码:
$ this可能在类(PHP)文件中不起作用。在这种情况下,您需要使用Mage :: app ()。
这是代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /** * get module name */ Mage::app()->getRequest()->getModuleName(); /** * 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(); |
上述函数(getModuleName,getControllerName,getActionName,getRouteName)存在于类Mage_Core_Model_Url中。
您可以使用print_r()浏览所有请求
1 2 3 | echo '<pre>'; print_r(Mage::app()->getRequest()); echo '</pre>'; |