Magento 2 : Wie bekomme ich den Namen des Controllers, Moduls, der Aktion und des Routers?
24
Verwenden Sie den folgenden Code in der Controller-Klasse, um den Namen des Controllers, des Moduls, der Aktion und der Route abzurufen:
<?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();
}
}
um die
phtml
Datei zu bekommen odercontroller
unten zu verwendenquelle
controller:index,action:index,route:cms,module:cms
hoffe, dies hilft.Verwenden Sie die folgenden Codefragmente für HTML, Controller und Ereignisse in Magento 2
quelle
ObjectManager
direkt instanziieren . Sie sollten die benötigten Klassen / Objekte über DI injizieren.Sie können auch tun:
$this->_requestInterface->getFullActionName()
So rufen Sie den vollständigen Aktionsnamen ab
quelle
Sie können diese Informationen aus dem Anforderungsobjekt abrufen.
In deiner
controller
Klasse:Ich hoffe das wird helfen.
quelle