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
+
0
-

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…

David Matějka
Moderator | 6445
+
+2
-

Error:Error4xx

n.u.r.v.
Člen | 485
+
0
-

Díky, já jsem tam cpal před to ještě dvojtečku a proto mi to nešlo…