In Backendmodul, CLI Mode oder im Command Controller auf Typoscript Konfiguration zugreifen

Zugriff auf die Typoscriptkonfiguration, wenn man sich nicht im FE Kontext befindet

Für die Umsetzung eines CommandControllers für den Versand von Emails war es in einer Erweiterung notwendig, die Typoscriptkonfiguration zu holen.

Ganz konkret ging es hier um ein Multidomain TYPO3 in dem auf jedem Domainroot eine andere Email konfiguriert war. Dazu habe ich mir die Pageids des Root Templates über die sys_domain Tabelle gefetched und damit dann über folgende Methode das Typoscript Template ausgelesen:

 

/**
 * @param int $pageId
 * @return array
 */
private function getTsForPage($pageId) {
 $template = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\TemplateService');
 $template->tt_track = 0;
 $template->init();
 $sys_page = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\Page\\PageRepository');
 $rootline = $sys_page->getRootLine($pageId);
 $template->runThroughTemplates($rootline, 0);
 $template->generateConfig();
 return $template->setup['plugin.']['tx_extkey.'];
}

 

Hinweis: Der Code ist für 6.2.0 Extbase erstellt.

Vielen Dank an Oliver Klee: lists.typo3.org/pipermail/typo3-german/2007-January/027940.html

Typoscript Konfiguration