In this post I am going to explain how to get module, controller, action and route name in Magento 2.
1. Using Dependency Injection
Add below code snippet in Block class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | protected $_request; public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Framework\App\Request\Http $request, array $data = [] ) { $this->_request = $request; parent::__construct($context, $data); } public function getModuleName() { return $this->_request->getModuleName(); } public function getControllerName() { return $this->_request->getControllerName(); } public function getActionName() { return $this->_request->getActionName(); } public function getRouteName() { return $this->_request->getRouteName(); } public function getControllerModule() { return $this->_request->getControllerModule(); } public function getFullActionName() { return $this->_request->getFullActionName(); } |
Add below code snippet in template file.
1 2 3 4 5 6 | echo $block->getModuleName() . '<br />'; echo $block->getControllerName() . '<br />'; echo $block->getActionName() . '<br />'; echo $block->getRouteName() . '<br />'; echo $block->getFullActionName() . '<br />'; echo $block->getControllerModule() . '<br />'; |
2. Using Object Manager
1 2 3 4 5 6 7 8 9 10 | $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $request = $objectManager->get('\Magento\Framework\App\Request\Http'); echo $request->getModuleName() . '<br />'; echo $request->getControllerName() . '<br />'; echo $request->getActionName() . '<br />'; echo $request->getRouteName() . '<br />'; echo $request->getFullActionName() . '<br />'; echo $request->getControllerModule() . '<br />'; |
Thats it. Enjoy Magento 2!!
Write an article about ecommerce that help people to grow their ecommerce business. You’ll find best ecommerce guide, news, tips & more!
Leave a Reply