Zum Inhalt springen

Eigene Distribution: Page TSConfig wird nicht geladen

Erstellt am 14. März 2018 · 5 Antworten · letzte Antwort am 19. März 2018

Tags: Templates & Layouts, Gridelements, TYPO3 7, Frage

Drusilla ·

Hallo,
ich habe eine eigene Typo3-Distributions-Extension geschrieben, in der ich Backendlayouts und Gridelemente etc. vordefiniert habe. Ich habe mich beim Anlegen an das schöne Video-Tutorial von JWeiland gehalten, das jetzt leider nicht mehr online ist. Auf dem Entwicklungssystem hat alles ganz prima geklappt, auch auf einem frisch installierten Testsystem läuft alles ganz wunderbar.

Nun habe ich es auf einer Seite installiert, auf der schon Inhalte etc. waren, die alten Inhalte, Templates, Gridelements, Seiten habe ich gelöscht. Leider wird ein Teil der Konfigurationen aus der Distribution nicht erkannt. Wie es scheint wird zwar das Typoscript unter Configuration/TypoScript/ geladen, aber alles was unter Configuration/TSConfig liegt, scheint nicht erkannt zu werden. Hier sind u.a. die Definitionen für die Backendlayouts und die Gridelemente.
Wo ist der Fehler???
Ich verwende Typo3 7.6.

Danke schon mal!
Tina

Drusilla ·

Achso, eingebunden ist es in der ext_localconf.php:

## TS-Seiten-Config einbinden
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:'. $_EXTKEY .'/Configuration/TSconfig/page.txt">'
);
## TS-User-Config einbinden
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig(
'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:'. $_EXTKEY .'/Configuration/TSconfig/user.txt">'
);

Drusilla ·

Ähm ja, peinlich, wie so oft, wenn man ein Problem postet, findet man den Fehler dann selber ... es lag an der Groß-Kleinschreibung des Pfades. Es muss heißen Configuration/TSConfig mit großem C!
Das lokale Testsystem hat sich daran offensichtlich nicht gestört ...

Teisinger ·

kleiner Tipp vielleicht:
ich finde es besser wenn das TS zur Auswahl steht - sprich du es im BE erst auswählen musst, bevor es aktiv wird. Warum? Zum einen kann dann jeder selbst entscheiden ob er es laden will oder was eigenes hat, zum anderen wenn du mal Multi-Seiten in einer Installation hast, mit vielleicht verschiedenen Distributionen bekommst du kein Problem.

Das geht auch ganz einfach:
in deiner Extension: Configurations/TCA/Overrides/page.php

da kommt dann sowas rein:

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

call_user_func(function() {

    // make PageTsConfig selectable
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
        '<extkey>',
        '<pfad_zur_ts_datei>',
        '<name / title>'
    );