Quellcode TCA

Das TYPO3 TCA in der 7.6 LTS

Seit der 6.2 LTS wurde auch das TCA (Table Configuration Array) an diversen Stellen überarbeitet. Im TCA wird festgelegt, welche Felder wie im Backend erscheinen. Einige der Änderungen werden nun näher vorgestellt.

TCA Änderungen

Pfade zu den Icons definieren mit EXT:

In der ctrl-Section wurde als Übergangslösung der Pfad zum Icon definiert mit:

'iconfile' => 
  \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('extension_name') . 
  'Resources/Public/Icons/icon_name.png'

 

Nun kann dies direkt über EXT: erfolgen:

'iconfile' => 'EXT:extension_name/Resources/Public/Icons/icon_name.png'

Neuer TCA Typ image_manipulation

Dieser Typ ist für die neu eingeführte image crop Funktion vorgesehen. Hier werden die gewählten Bildausschnitte gespeichert.

Sichtbarkeit von Paletten

Die Paletten werden nun immer direkt angezeigt. Die Checkbox zum Ein- und Ausblenden entfällt.

columnsOverrides 

Bisher wurden beispielsweise RTE-Transformationen nach drei vorangehenden Semikolons in der types Section festgelegt. Dies wird nun übersichtlicher durch die Angabe in der neuen Option columnsOverrides.

Bisher:

'types' => array(
  '0' => array(
    'showitem' => 'description;;;richtext:rte_transform[mode=ts_css]',
  ),
),

Jetzt:

'types' => [
  '0' => [
    'showitem' => 'description',
    'columnsOverrides' => [
      'description' => [
        'defaultExtras' => 'richtext:rte_transform[mode=ts_css]'
      ]
    ]
  ]
]

Paletten neu definiert

Paletten sind nun nicht mehr nach einem Feld zu definieren sondern immer mit dem Schlüssel --palette--.

Vorher:

'showitem' => 'aField;aLabel;anAdditionalPaletteName',

Jetzt:

'showitem' => 'aField;aLabel, --palette--;;anAdditionalPaletteName',

descriptionColumn

Über [’TCA’][’ctrl’][’descriptionColumn’] keine eine Spalte festgelegt werden, welche u.a. im Listenmodul mit den jeweiligen Inhalten als Beschreibungen angezeigt wird.

renderType

Eine neue Option names renderType muss nun beim TCA-Typ ’select‘ gesetzt werden. Dies bestimmt nun das Aussehen der Selectbox.

Zulässige Werte sind:

'renderType' => 'selectSingle',
'renderType' => 'selectMultipleSideBySide', 
'renderType' => 'selectCheckBox',
'renderType' => 'selectSingleBox', 
'renderType' => 'selectTree',

Änderungen bei den Wizards

Neue Pfade zu den Icons

Im Deprecation-Log in einer 7.6-Installation wird oftmals eine Meldung angezeigt, welche der folgenden ähnelt:

Migrated icon path of wizard "link" in field "tx_csseo_canonical" 
from TCA table "pages". New path is: 
EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif

Die Pfade zu den Icons haben sich auch bei den Wizards geändert. Die Icons sind u.a. wie folgt zu ersetzen:

'add.gif' -> 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_add.gif'
'edit2.gif' -> 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_edit.gif'
'link_popup.gif -> 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif'
'wizard_rte2.gif' -> 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_rte.gif'

Skripte werden über den Namen registriert

Neben den Icons hat sich auch die Angabe der Skripte für den jeweiligen Wizard geändert. Das war allerdings in TYPO3 6.2 schon vorgegeben. In TYPO3 7.6 wird daher eine Fehlermeldung angegeben, falls die Angaben nicht korrekt sind.

Die Wizards werden mit Namen angegeben. So wird aus:

'script' => 'wizard_add.php',

seit TYPO3 6.2:

'module' => [
 'name' => 'wizard_add'
],

Hierzu ein paar weitere Beispiele:

'script' => 'wizard_edit.php', 
// wird zu
'module' => [                  
 'name' => 'wizard_edit',
],

'script' => 'browse_links.php?mode=wizard&act=file',
// wird zu
'module' => [                  
 'name' => 'wizard_link',
 'urlParameters' => [
  'mode' => 'wizard',
  'act' => 'file'
 ]
],

'script' => 'wizard_rte.php',
// wird zu
'module' => [                  
 'name' => 'wizard_rte',
],

typo3conf/ext_tables.php ist veraltet

Die Datei typo3conf/extTables.php ist als „deprecated“ gekennzeichnet wurden. Als Alternative sollten die Änderungen in der jeweiligen Extension niedergeschrieben werden: typo3conf/ext/extension_name/Configuration/TCA/Overrides/table_name.php

Weitere Neuerungen sind in den folgenden Quellen zu finden.

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert