LegacyTemplateNameResolver::resolve() must be of the type string, null given

Hi,

mein Murks holt mich ein…

Ich habe einen Controller geschrieben, der eine Artikelliste im JSON-Format ausgibt. Der wird einfach über die URL aufgerufen: /index.php?cl=myController&fnc=getStockJson (sinngemäß).

Der Controller ist ziemlich schlank und realisiert die Ausgabe denkbar einfach:

 // $result ist ein Array mit Artikeldaten
header('Content-Type: application/json; charset=utf-8');
echo json_encode($result);

Das funktionierte bisher ganz wunderbar. Jetzt habe ich das Problem, dass seit dem Update auf die 6.2.1 (CE) an die JSON-Ausgabe noch die offline.html angehängt wird.

Im Log steht dazu folgendes (Auszug):

OXID Logger.ERROR: Argument 1 passed to OxidEsales\EshopCommunity\Internal\Framework\Templating\Resolver\LegacyTemplateNameResolver::resolve() must be of the type string, null given

Da hier ein Legacy Template Name Resolver anspringen muss, vermute ich mal, dass ich meinen “Murks” wohl glatt ziehen muss und ein richtiges Ausgabe-Template rendern muss? Oder gibt es da eine weiterhin eine schlanke Möglichkeit, platt JSON auszugeben bei Aufruf eines Controllers per URL?

Ein leeres Template könnte reichen:

$this->_sThisTemplate = ‘’; //leer

1 Like

ich beende die Funktionen, die json direkt ausgeben sollen mit exit();, damit danach kein render() aufgerufen wird.

1 Like

Bingo! So einfach kann es sein, danke!

:smiley: Das war mein instant workarround.