Nach der Umstellung auf TYPO3 v12 will das Modul TypoScript (ehemals Template) für nicht-Admin Nutzer nicht mehr funktionieren.
Der bisherige Workaround scheint unvollständig. Um das Modul für nicht-Administratoren wieder gangbar zu machen, müssen folgende Schritte unternommen werden.
Hier wird davon ausgegangen, dass es - irgendwie geartet - bereits eine eigene TYPO3-Erweiterung im System gibt, auf deren Inhalt Einfluss genommen werden kann. Im folgenden Text wird hierfür der Name my_extension
verwendet.
<?php
use TYPO3\CMS\Tstemplate\Controller\ActiveTypoScriptController;
use TYPO3\CMS\Tstemplate\Controller\ConstantEditorController;
use TYPO3\CMS\Tstemplate\Controller\InfoModifyController;
use TYPO3\CMS\Tstemplate\Controller\TemplateAnalyzerController;
use TYPO3\CMS\Tstemplate\Controller\TemplateRecordsOverviewController;
return [
'web_ts' => [
'parent' => 'site',
'access' => 'user',
'path' => '/module/web/ts',
'iconIdentifier' => 'module-template',
'labels' => [
'title' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:module.typoscript.title',
'shortDescription' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:module.typoscript.shortDescription',
'description' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:module.typoscript.description',
],
'navigationComponent' => '@typo3/backend/page-tree/page-tree-element',
],
'web_typoscript_recordsoverview' => [
'parent' => 'web_ts',
'access' => 'user',
'path' => '/module/web/typoscript/records-overview',
'iconIdentifier' => 'module-template',
'labels' => [
'title' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:submodules.option.templateRecordsOverview',
],
'routes' => [
'_default' => [
'target' => TemplateRecordsOverviewController::class . '::handleRequest',
],
],
],
'web_typoscript_constanteditor' => [
'parent' => 'web_ts',
'access' => 'user',
'path' => '/module/web/typoscript/constant-editor',
'iconIdentifier' => 'module-template',
'labels' => [
'title' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:submodules.option.constantEditor',
],
'routes' => [
'_default' => [
'target' => ConstantEditorController::class . '::handleRequest',
],
],
'moduleData' => [
'selectedTemplatePerPage' => [],
'selectedCategory' => '',
],
],
'web_typoscript_infomodify' => [
'parent' => 'web_ts',
'access' => 'user',
'path' => '/module/web/typoscript/overview',
'iconIdentifier' => 'module-template',
'labels' => [
'title' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:submodules.option.infoModify',
],
'routes' => [
'_default' => [
'target' => InfoModifyController::class . '::handleRequest',
],
],
'moduleData' => [
'selectedTemplatePerPage' => [],
],
],
'typoscript_active' => [
'parent' => 'web_ts',
'access' => 'user',
'path' => '/module/typoscript/active',
'iconIdentifier' => 'module-template',
'labels' => [
'title' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:submodules.option.active',
],
'routes' => [
'_default' => [
'target' => ActiveTypoScriptController::class . '::indexAction',
],
'edit' => [
'target' => ActiveTypoScriptController::class . '::editAction',
],
'update' => [
'target' => ActiveTypoScriptController::class . '::updateAction',
'methods' => ['POST'],
],
],
'moduleData' => [
'sortAlphabetically' => true,
'displayConstantSubstitutions' => true,
'displayComments' => true,
'selectedTemplatePerPage' => [],
'constantConditions' => [],
'setupConditions' => [],
],
],
'web_typoscript_analyzer' => [
'parent' => 'web_ts',
'access' => 'user',
'path' => '/module/web/typoscript/analyzer',
'iconIdentifier' => 'module-template',
'labels' => [
'title' => 'LLL:EXT:tstemplate/Resources/Private/Language/locallang.xlf:submodules.option.templateAnalyzer',
],
'routes' => [
'_default' => [
'target' => TemplateAnalyzerController::class . '::indexAction',
],
'source' => [
'target' => TemplateAnalyzerController::class . '::sourceAction',
],
'sourceWithIncludes' => [
'target' => TemplateAnalyzerController::class . '::sourceWithIncludesAction',
],
],
'moduleData' => [
'selectedTemplatePerPage' => [],
'constantConditions' => [],
'setupConditions' => [],
],
],
];
Nachdem alle o.g. Schritte durchgeführt und der TYPO3-Cache geleert ist, können die Berechtigungen für das TypoScript-Modul auf Benutzer- oder Gruppen-Ebene vergeben werden.