Error presenter, ForwardResponse a moduly
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- n.u.r.v.
- Člen | 485
Ahoj, začal jsem předělávat své error presentery, protože v některých projektech ještě používám v error presenteru debugger místo tracy.
Stáhl jsem si nejnovější nette jako příklad a začal přepisovat, ale narážím na tento problém – mám aplikaci rozdělenou na moduly, tak jsem si udělal ErrorModule (tedy kdybych chtěl redirect, tak napíšu :ErroroModule:NazevPReseneteru:render).
Ale v aktuální verzi je použito:
public function run(Nette\Application\Request $request) {
$exception = $request->getParameter('exception');
if ($exception instanceof Nette\Application\BadRequestException) {
$this->logger->log("HTTP code $code: {$exception->getMessage()} in {$exception->getFile()}:{$exception->getLine()}", ILogger::EXCEPTION);
return new Responses\ForwardResponse($request->setPresenterName('Error4xx'));
}
$this->logger->log($exception, ILogger::EXCEPTION);
return new Responses\CallbackResponse(function () {
require __DIR__ . '../templates/Error/500.phtml';
});
}
A já mám právě problém s return new Responses\ForwardResponse($request->setPresenterName(‚Error4xx‘));
Dostanu chybu Cannot load presenter ‚Error4xx‘, class ‚App\Modules\Error4xxPresenter‘ was not found.
Jak tam dostanu ten ErrorModule? Díky za pomoc…