Biorę kurs rozwoju Magento 2, a ćwiczenie Router / Kontroler Admin wydaje się nieaktualne. Router działa, ale kontroler nie, zawsze po prostu przekierowuje na stronę główną administratora. Kod aplikacji routera / code / Training / Test / etc / adminhtml / tras.xml :
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/framework/App/etc/routes.xsd">
<router id="admin">
<route id="test" frontName="test">
<module name="Training_Test" before="Magento_Backend" />
</route>
</router>
</config>
Kod aplikacji kontrolera administracyjnego / kodu / szkolenia / testu / kontrolera / administratora / działania / indeksu.php :
<?php
namespace Training\Test\Controller\Adminhtml\Action;
class Index extends \Magento\Backend\App\Action
{
public function execute()
{
die("test reached controller");
}
protected function _isAllowed() {
return true;
}
}
Kiedy przechodzę do adresu administratora admin / test / action / index, po prostu przekierowuje i nic się nie dzieje. Jeśli dodam konstruktor i użyję xdebug, to pokazuje, że osiąga konstruktor kontrolera, ale nigdy nie wykonuje części wykonawczej. czego mi brakuje?