Oops, an error occurred! - Vis hele fejlmeddelelsen.

19 juli 2017
TypoScript

Ups, jeg kan ikke gøre noget ved fejlen... men hvad skal jeg gøre?
Ingen panik - det er ikke så slemt! Der er en enkel måde at slippe af med fejlmeddelelsen på, f.eks: "Ups, der er opstået en fejl! Code: 2017042525202025502525e4885c" for at fejlfinde.

Med TYPO3 9.5.x er proceduren stadig den samme, og det samme gælder for 10.x og 11.x.

TLDR; direkte til contentObjectExceptionHandler.

En mulighed er at åbne logfilen og søge efter fejlkoden. Dette ser så nogenlunde sådan ud:

Du kan finde filen under:

 

# Ældre TYPO3-systemer
typo3temp/logs/typo3_[abc123].log

# Nyere TYPO3-systemer
typo3temp/var/logs/typo3_[abc123].log

# nuværende systemer, der er installeret med Composer:
var/log/typo3_[abc123].log

 

Her kan vi læse op, hvad det er, men denne metode er ikke særlig behagelig.

Anpassung am TypoScript

Det bedre valg er at indstille en indstilling i TypoScript til at vise fejlmeddelelsen visuelt i frontend/backend. For at gøre dette skal du blot foretage en lille indstilling i TypoScript.

Hvis du ønsker at aktivere output for alle undersider, skal du foretage indstillingen på din hovedskabelon, som normalt er på rodsiden (rød ramme). Alternativt kan du også indstille dette for undersider ved at oprette en udvidelsesskabelon.

Så rediger din TypoScript-skabelon. For at gøre dette skal du vælge skabelonmodulet i sidebaren, skifte til "Info/Rediger" og indtaste følgende indstilling i opsætningen:

 

config.contentObjectExceptionHandler = 0

Hvis du nu kalder siden med fejlen igen, bør du få en mere eller mindre talende fejlmeddelelse.
I mit tilfælde skrev jeg med vilje ankaldet til en ViewHelper i skabelonen forkert for at fremkalde denne fejl (skærmbillede fra TYPO3 8.7.1):

"TYPO3Fluid\Fluid\ViewHelpers\ImadgeViewHelper", however this class does not exist.

 

Fejlmeddelelsen er sigende og giver os i dette tilfælde en ret klar indikation af, hvor problemet ligger.

Selv hvis din fejlmeddelelse fylder hele siden og ligner dette skærmbillede, er der normalt en fejlmeddelelse øverst, som er let at fortolke. Nederst er der en programsekvens (stack trace) for at hjælpe dig med at forstå problemet.

I TYPO3 9.5.x er designet mere moderne, og staksporet er noget mere tydeligt, men det er stadig meget kompliceret for en normal bruger. For fuldstændighedens skyld er der her et skærmbillede af, hvordan det ser ud i de nuværende versioner.

Sidst, men ikke mindst, et lille tip:

Hvis du sætter ExceptionHandler til 1 (eller fjerner indstillingen helt), aktiverer du standardindstillingen, og frontend vil igen vise "Ups, der er opstået en fejl!

Du kan i øvrigt justere denne tekst via en anden TypoScript-indstilling:

 

config.contentObjectExceptionHandler = 1
config.contentObjectExceptionHandler.errorMessage = Oje, das hat nicht geklappt! %s

 

På denne måde kan du forhindre, at den besøgende på webstedet får en fejlside/meddelelse, der gør dem usikre, og samtidig kan du tilpasse teksten, så den passer til din side - forudsat at den nogensinde bliver udgivet - hvilket vi naturligvis håber, at den ikke gør ;)

Held og lykke med fejlsøgningen

Thomas Anders

XS SM MD LG XL XXL