Zum Inhalt springen

Verständnisfrage Zusammenhang ext_localconf.php und pages.php

Erstellt am 14. Juli 2020 · 4 Antworten · letzte Antwort am 17. Juli 2020

Tags: Update & Upgrade, TYPO3 9, Frage

mimii ·

Hallo ins Forum,

ich habe meine Installation von 8.7 auf 9.5 angehoben. Jetzt bin ich am anpassen meiner Extension (Package für eigene Inhaltselemente).

Ich habe nun gelesen, dass man die benötigten TsConfig Dateien nun in einer Seite namens "pages.php" registrieren muss. Wenn ich hier alles korrekt eintrage, stehen mir diese Dateien dann im PageTS als Auswahl zur Verfügung.

Bisher hatte ich alle notwendigen Config-Dateien in der "ext_localconf" stehen und sie wurden automatisch beim Einschließen meines Packages als statisches Template eingebunden.

Ich blicke grade nicht durch und je mehr ich recherchiere, desto verwirrter bin ich.

Wir mache ich es am besten, dass es läuft wie bisher. Also nur mein Package einbinden und alles was dazugehört ist einfach dabei :-)

Danke für eure Hilfe und Gruß
mimii

Julian.​Hofmann ·

Hallo mimii.

Ich glaube, der Eintrag im Changelog von 8.5 dürfte etwas Überblick verschaffen. Er geht aucha uf die häufigeren Anwendungfälle und deren Migration ein.

Breaking: #78384 - Frontend ignores TCA in ext_tables.php
https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/8.5/Breaking-78384-FrontendIgnoresTCAInExtTables.html

Falls Du dennoch nicht durchblickst, einfach nochmal konkreter nachfragen.

Viele Grüße
Julian

(Seltsam, dass es bei Dir in 8.7 noch funktionierte, wenn es in 8.5 rausfiel... :-/ )

mimii ·

Hi Julian,

danke für deine Rückmeldung. Leider komme ich nicht weiter. Hier vielleicht nochmal zur Erklärung. Ich habe ein Package als Extension geschrieben. Im Verzeichnis "myPackage"\TsConfig\" habe ich verschiedene Konfigurationsdateien z.B. für die Seite selbst (page.tsconfig), für gridelements (gridelements.tsconfig), etc. Diese Dateien sollen jedoch nicht per Hand sondern automatisch geladen werden, wenn ich das Package als statisches Template einbinde

In der Datei "myPackage\Configuration\TCA\Overriedes\pages.php habe ich die config-Dateien eingetragen

<?php
defined('TYPO3_MODE') || die();

$extensionKey = 'myPackage';

// Register PageTS 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
    $extensionKey,
    'Configuration/TsConfig/page.tsconfig',
    'Sitepackage: Page'
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
    $extensionKey,
    'Configuration/TsConfig/gridelements.tsconfig',
    'Sitepackage: Gridelements'
);

...

Daher stehen Sie im BE als verfügbare Objekte bei "Seiten-TSconfig einbinden (aus Erweiterungen) auch zur Verfügung. So möchte ich das aber nicht machen.

THX für n Tipp und Gruß
mimii

Julian.​Hofmann ·

Dann dürfte \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig() das richtige für Dich sein. Als Parameter wird zwar keine Datei sondern inline TS erwartet, das schließt aber ja keine import-Anweisung einer Datei aus.

mimii ·

THX für die Rückmeldung.
Das Ganze eine Nacht ruhen lassen, sämtliche Caches geleert und es funktionierte. Muss man nicht verstehen...

LG, mimii