Je souhaite que mon extension de calendrier renvoie la sortie XML et iCal tout en évitant d'avoir à utiliser un typoScript supplémentaire (page supplémentaire ou typeNum). Pour ce faire, j'ai créé un contrôleur d'exportation dédié. Le modèle d'extension XML correct est en cours de chargement mais enveloppé dans le modèle de page HTML standard.TYPO3 7: remplacer ou supprimer le modèle de page du contrôleur d'extension
Voici ce que j'ai essayé dans ExportController->listAction()
. La ligne suivante fait ce que je l'espérais car il n'y a pas de section HTML <head>
dans la sortie:
$GLOBALS['TSFE']->config['config']['disableAllHeaderCode'] = 1;
Avec la ligne suivante à la place la page est encore complètement analysé, bien que je peux voir les changements dans le f: debug sortie $GLOBALS['TSFE']->tmpl->setup
:
$GLOBALS['TSFE']->tmpl->setup['page.']['10.']['file'] = 'path/to/empty/templatefile.xml';
Je suis même allé plus loin et a essayé de remplacer tous les paramètres du modèle de mon TypoScript ($GLOBALS['TSFE']->tmpl->setup['page.']['10.']['file.']['stdWrap.']['cObject.']['default.']
) - avec le même résultat. Alors que lors de la définition de $GLOBALS['TSFE']->tmpl->setup = null;
, une partie du contenu de la page a disparu: tous les résultats sont affichés après le modèle XML de l'extension et au-dessus de tous les éléments de contenu, mais cette partie du modèle est toujours présente.
De plus - et sans succès - j'ai essayé ceci:
$this->objectManager->get(\TYPO3\CMS\Core\Page\PageRenderer::class)->setTemplateFile('path/to/empty/templatefile.xml');
est-il un moyen non-TypoScript pour obtenir ce que je veux?
Merci, Claus. Je suis allé pour la solution TS maintenant avec un pageType dédié - aussi parce que je ne comprendrais pas comment utiliser 'setViewConfiguration'. Mon approche est toujours d'en faire autant que possible dans les scripts et d'utiliser TS pour les paramètres vraiment nécessaires seulement, par exemple. quand je veux ajouter une sélection entre plusieurs possibilités. –