Magento 2 : Jak uzyskać nazwę kontrolera, modułu, akcji i routera?
24
Użyj poniższego kodu w klasie kontrolera, aby uzyskać nazwę kontrolera, modułu, akcji i trasy:
<?php
namespace Custom\Module\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
protected $request;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\App\Request\Http $request
){
parent::__construct($context);
$this->request = $request;
}
public function execute()
{
$moduleName = $this->request->getModuleName();
$controller = $this->request->getControllerName();
$action = $this->request->getActionName();
$route = $this->request->getRouteName();
echo $moduleName."<br/>";
echo $controller."<br/>";
echo $action."<br/>";
echo $route."<br/>";
$this->_view->loadLayout();
$this->_view->renderLayout();
}
}
aby uzyskać
phtml
plik lubcontroller
użyj poniżejźródło
controller:index,action:index,route:cms,module:cms
mam nadzieję, że to pomoże.Użyj poniższych fragmentów kodu do phtml, kontrolera i zdarzeń w Magento 2
źródło
ObjectManager
bezpośrednio tworzyć instancji . Powinieneś wstrzyknąć potrzebne klasy / obiekty przez DI.Możesz także:
$this->_requestInterface->getFullActionName()
Aby uzyskać pełną nazwę działania
źródło
Możesz uzyskać te informacje z obiektu żądania.
W twojej
controller
klasie:Mam nadzieję, że to pomoże.
źródło