TYPO3 – überschreiben von Werten anderer Extensions
Hallo, heute zeige ich euch, wie ihr mit der AdditionalConfiguration.php von Eurer eigenen TYPO3 Extension die Werte von anderen T3 Extensions überschrieben könnt.Als erstes müsst ihr euch im Code der Extension den Hook raus suchen, das ist mehr oder minder ein anderes Wort für eine Variable, die ihr überschrieben wollt. Das ist zugegebenermaßen ein bisschen friemelig, aber meistens geht es doch relativ schnell. Ihr könnt einfach den Code der ganzen Extension nach „$GLOBALS[‚TYPO3_CONF_VARS‘][‚EXT‘][‚extConf‘]“ durchsuchen, dann kommen alle Möglichkeiten für die fremden Extensions.
Ich mache das jetzt hier Beispielsweise einmal an der Extension RealUrl. Mein Ziel ist es, dass immer eine Standart-Configuration mit meiner eigenen Extension geladen wird, ohne dass ich diese extra in das Backend eintragen muss. Trotzdem soll es aber auch noch möglich sein eine Config-Datei einzutragen, daher unten die aufgeführte „if“ Abfrage. Config-Auto und das zweite Backend-Logo sollen aber immer ausgewählt sein, daher habe ich hier keine if-Abfrage, da es immer umgestellt werden soll.
Der Code muss in die AdditionalConfiguration.php, diese bietet den Vorteil, dass sie nach der allgemeinen Typo3-Konfiguration geladen wird (im Unterschied zur LocalConfiguration.php – in dieser Datei aber bitte generell nichts ändern, da sie von Typo3 automatisch verwaltet wird), aber vor den Extensions. Ihr könnt hier auch allen anderen Code rein schreiben – seid aber Vorsichtig, die Datei wird nicht gecacht und bei jedem Request aufgerufen! (falls die Datei nicht vorhanden ist, einfach neu anlegen.)
<Typo3-Installation>/typo3conf/AdditionalConfiguration.php :
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl'])) { // prüfe ob die Konfiguration schon aufgelöst wurde und wenn nicht, tue das $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl'] = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']); } // Lade die RealUrl Config File, aber nur, wenn keine gesetzt ist if (!isset($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']['configFile']) || empty(trim($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']['configFile']))) { // // ist keine Konfiguration angelegt, lade meine Version $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']['configFile'] = 'typo3conf/ext/pgatemplates/Resources/Private/Hooks/realurl_conf.php'; } // RealUrl Config Auto = OFF // IMMER! $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']['enableAutoConf'] = false; // RealUrl BE Logo = 1 // IMMER! $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']['moduleIcon'] = '1'; // Wandel das Array wieder in eine Zeichenkette um if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl'])) { $GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl'] = serialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['realurl']); }
Gerne einmal testen und in den Kommentaren Eure Erfahrungen und Lösungen zu der TYPO3 AdditionalConfiguration Datei schreiben.
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!
Chris
Sehr schön, genau das habe ich gesucht, Vielen Dank!