dans typo3 8.7 J'essaie de générer JSON à l'aide de fluide.
J'ai créé une page avec du contenu factice et j'ai mis à jour ma configuration de typoscript pour toutes les pages d'un dossier. P>
<html>
<head></head>
<body>
{"hello": "world"}
</body>
</html>
3 Réponses :
Lorsque vous remplacez l'objet de la page, vous devez supprimer tout l'intérieur avant avec meilleur moyen: strong> page> code>.
De plus, le fluide est un moteur de modèles pour HTML, je ne sais pas si cela convient à la sortie JSON.
Je suggère d'utiliser un objet distinct que la page et un type de page différent: p>
Merci pour votre réponse. Cela semble prometteur. Malheureusement, lorsque je le mettez à la mise à jour comme ça et appelez la page avec ? Tapez = 133 code> I Obtenir exactement la même sortie qu'avant, y compris
HTML code> et
Corps code>.
Comment ressemble votre contrôleur?
Ce qui vous manque, c'est ce typoscript: Comme vous le souhaitez sur une page spéciale, vous pouvez utiliser un modèle de typoscript spécial pour cette page. . Pour un pageType, il est un peu plus compliqué car cette configuration fonctionnerait sur tous les pagetypes. Sachez que le fluide est plus compliqué si vous donnez une autre structure que HTML. Mais c'est possible! Avoir un regard spécial sur les espaces et les accolades (
Si vous voulez des options config code> uniquement pour un pageType spécial Vous pouvez ajouter cette configuration au pageType uniquement comme ceci: p>
{} code>) p> p>
Le problème était une nouvelle syntaxe dans TYPO3 8 et plus récente. Dans les versions plus récentes, les Theaders CODE> ne sont plus un texte
code> mais un
Array avec indices numériques code>
. Donc, pour définir le type d'en-tête correct, vous devez utiliser celui-ci: additionalHeaders.10.header = Content-Type:application/json;charset=utf-8
Avez-vous envisagé le JSONView qui vient de TYPO3 par défaut? Ou vous pouvez simplement utiliser la classe autonome, où vous ne rendez que le modèle réel sans en-tête et le corps