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.
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.
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
$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