Template-Extension anpassen

TYPO3 12 und 13

Page TSconfig

Statt der Einbindung über die ext_localconf.php mit addPageTSConfig nach dem Muster

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig( '@import "EXT:nema_template/Configuration/TSconfig/Page.tsconfig"' );

werden die Dateien page.tsconfig und user.tsconfig einfach direkt im Ordner Configuration abgelegt. Weitere Konfigurationsdateien werden in diese importiert:

@import 'EXT:nema_template/Configuration/TSconfig/backend_layouts.tsconfig'

RTE Konfiguration

In der custom.yaml muss jetzt alles als Array angegeben werden. Beispiel:

editor:
  config:
    contentsCss: "EXT:nema_template/Resources/Public/Css/editor.css"
    toolbarGroups:
      - { name: links, groups: [ links ] }

wird zu:

editor:
  config:
    contentsCss:
      - 'EXT:nema_template/Resources/Public/Css/editor.css'
    toolbar:
      items:
        - link
        # grouping separator
        - '|'

Fluidtemplates

  • Es ist eine ganz schlechte Idee, Namen mit einer Ziffer anfangen zu lassen. Dann wird das Argument als Zahl interpretiert (Fehlermeldung: Argument #1 ($identifier) must be of type string, int given). Das gilt z.B. für Variablen innerhalb von Fluidtemplates.
  • Die Syntax ist insgesamt strikter, z.B. order: 'DESC' funktioniert in TYPO3 13 nicht mehr ohne die Anführungsstriche.

Eigene Content Elemente

… werden automatisch dem Wizard hinzugefügt. Der dafür in TYPO3 12 notwendige Code in der page.tsconfig (mod.wizards.newContentElement. usw.) entfällt.

TYPO3 11 und 12

Dateien verschieben

  • ext_icon.svg → Resources/Public/Icons/Extension.svg
  • RTE: Configuration/TSConfig/RTE/Custom.yaml → Configuration/RTE/Custom.yaml

PHP

TYPO3 statt TYPO3_MODE

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}

wird zu

if (!defined('TYPO3')) {
    die('Access denied.');
}

ext_localconf.php: TSConfig einbinden

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
	'<INCLUDE_TYPOSCRIPT: source="FILE:EXT:nema_template/Configuration/TSconfig/Page.tsconfig">'
);

wird zu

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
	'@import "EXT:nema_template/Configuration/TSconfig/Page.tsconfig"'
);

ext_localconf.php: RTE Konfiguration einbinden

$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'] = 'EXT:nema_template/Configuration/TSconfig/RTE/Custom.yaml';

wird zu

if (empty($GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'])) {
    $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['custom'] = 'EXT:nema_template/Configuration/RTE/Custom.yaml';
}

Der Ordner RTE wird eine Ebene nach oben verschoben.

ext_emconf.php

  • TYPO3-Version anpassen
  • Syntax: eckige Klammern statt array(:
$EM_CONF[$_EXTKEY] = array(
  'constraints' => array(
    'depends' => array(
      'typo3' => '10.0.0-11.5.99',
    ),
    'conflicts' => array(
    ),
    'suggests' => array(
    ),
  ),
);

wird zu

$EM_CONF[$_EXTKEY] = [
  'constraints' => [
    'depends' => [
      'typo3' => '11.0.0-12.4.99',
    ],
    'conflicts' => [],
    'suggests' => [],
  ],
];

Configuration

spamProtectEmailAddresses = ascii hat keine Wirkung mehr, die ASCII-Verschlüsselung wurde entfernt. Stattdessen einen Wert zwischen -5 und 1 angeben, wodurch die Zeichen entsprechend verschoben werden. Das @ wird automatisch durch (at) ersetzt.