Моя конфигурация плагина выглядит следующим образом:
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('Orbit.Navigator', 'mission', [
\Orbit\Navigator\Controller\SpaceXController::class => 'cpt, cpr, shuttle',
\Orbit\Navigator\Controller\Conf\FlightController::class => 'pressure,target,timer',
\Orbit\Navigator\Controller\Conf\WeatherController::class => 'mav,hub',
]);
У меня есть эта настройка,
10 = USER_INT
10 {
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
extensionName = Navigator
pluginName = mission
vendorName = Orbit
switchableControllerActions {
SpaceX{
1 = shuttle
}
}
}
Запрос попадает в метод shuttleAction()
в SpaceXController
. После обработки, как мне переслать timerAction()
в FlightController
?
Использование;
$this->forward('timer', 'Flight', $this->request->getControllerExtensionName(), $this->request->getArguments());
действует как $_POST
и приводит к;
(1/2) #1278450972 TYPO3\CMS\Extbase\Reflection\Exception\UnknownClassException
Class does not exist. Reflection failed.
Использование;
$this->redirect('timer', 'Flight', $this->request->getControllerExtensionName(), $this->request->getArguments());
действует как $_GET
(перенаправляет на другую страницу), и страница выдает ошибку с жалобой на "слишком много перенаправлений".
Я могу переслать другое действие в том же контроллере, но как переслать другое действие в другом контроллере?