TCA¶
\nn\t3::TCA()¶
Methoden für die Konfiguration und den Zugriff auf Felder im TCA.
Overview of Methods¶
\nn\t3::TCA()->addModuleOptionToPage($label, $identifier, $iconIdentifier = '');¶
In den Seiteneigenschaften unter “Verhalten -> Enthält Erweiterung” eine Auswahl-Option hinzufügen.
Klassischerweise in Configuration/TCA/Overrides/pages.php genutzt, früher in ext_tables.php
// In ext_localconf.php das Icon registrieren (16 x 16 px SVG)
\nn\t3::Registry()->icon('icon-identifier', 'EXT:myext/Resources/Public/Icons/module.svg');
// In Configuration/TCA/Overrides/pages.php
\nn\t3::TCA()->addModuleOptionToPage('Beschreibung', 'identifier', 'icon-identifier');
@return void\nn\t3::TCA()->getColorPickerTCAConfig();¶
Color Picker Konfiguration für das TCA holen.
'config' => \nn\t3::TCA()->getColorPickerTCAConfig(),
@return array\nn\t3::TCA()->getColumn($tableName = '', $fieldName = '', $useSchemaManager = false);¶
Holt Konfigurations-Array für ein Feld aus dem TCA.
Alias zu \nn\t3::Db()->getColumn()
\nn\t3::TCA()->getColumn( 'pages', 'media' );
@return array\nn\t3::TCA()->getColumns($tableName = '', $useSchemaManager = false);¶
Holt Konfigurations-Array für eine Tabelle aus dem TCA.
Alias zu \nn\t3::Db()->getColumns()
\nn\t3::TCA()->getColumns( 'pages' );
@return array\nn\t3::TCA()->getConfig($path = '');¶
Eine Konfiguration aus dem TCA holen für einen Pfad holen.
Liefert eine Referenz zu dem config-Array des ensprechenden Feldes zurück.
\nn\t3::TCA()->getConfig('tt_content.columns.tx_mask_iconcollection');
@return array\nn\t3::TCA()->getConfigForType($type = '', $override = []);¶
Default Konfiguration für verschiedene, typische types im TCA holen.
Dient als eine Art Alias, um die häufigst verwendeten config-Arrays schneller
und kürzer schreiben zu können
\nn\t3::TCA()->getConfigForType( 'text' );           // => ['type'=>'text', 'rows'=>2, ...]
\nn\t3::TCA()->getConfigForType( 'rte' );            // => ['type'=>'text', 'enableRichtext'=>'true', ...]
\nn\t3::TCA()->getConfigForType( 'color' );          // => ['type'=>'input', 'renderType'=>'colorpicker', ...]
\nn\t3::TCA()->getConfigForType( 'fal', 'image' );   // => ['type'=>'input', 'renderType'=>'colorpicker', ...]
Default-Konfigurationen können einfach überschrieben / erweitert werden:
\nn\t3::TCA()->getConfigForType( 'text', ['rows'=>5] );   // => ['type'=>'text', 'rows'=>5, ...]
Für jeden Typ lässt sich der am häufigsten überschriebene Wert im config-Array auch
per Übergabe eines fixen Wertes statt eines override-Arrays setzen:
\nn\t3::TCA()->getConfigForType( 'text', 10 );           // => ['rows'=>10, ...]
\nn\t3::TCA()->getConfigForType( 'rte', 'myRteConfig' ); // => ['richtextConfiguration'=>'myRteConfig', ...]
\nn\t3::TCA()->getConfigForType( 'color', '#ff6600' );   // => ['default'=>'#ff6600', ...]
\nn\t3::TCA()->getConfigForType( 'fal', 'image' );       // => [ config für das Feld mit dem Key `image` ]
@return array\nn\t3::TCA()->getFileFieldTCAConfig($fieldName = 'media', $override = []);¶
FAL Konfiguration für das TCA holen.
Standard-Konfig inkl. Image-Cropper, Link und alternativer Bildtitel Diese Einstellung ändert sich regelmäßig, was bei der Menge an Parametern und deren wechselnden Position im Array eine ziemliche Zumutung ist.
\nn\t3::TCA()->getFileFieldTCAConfig('media');
\nn\t3::TCA()->getFileFieldTCAConfig('media', ['maxitems'=>1, 'fileExtensions'=>'jpg']);
Wird im TCA so eingesetzt:
'falprofileimage' => [
    'config' => \nn\t3::TCA()->getFileFieldTCAConfig('falprofileimage', ['maxitems'=>1]),
],
@return array\nn\t3::TCA()->getRteTCAConfig();¶
RTE Konfiguration für das TCA holen.
'config' => \nn\t3::TCA()->getRteTCAConfig(),
@return array\nn\t3::TCA()->insertCountries($config, $a = NULL);¶
Fügt Liste der Länder in ein TCA ein. Alias zu nnt3::Flexform->insertCountries( $config, $a = null ); Beschreibung und weitere Beispiele dort.
Beispiel im TCA:
'config' => [
    'type' => 'select',
    'itemsProcFunc' => 'nn\t3\Flexform->insertCountries',
    'insertEmpty' => true,
]
@return array\nn\t3::TCA()->insertFlexform($path);¶
Fügt ein Flexform in ein TCA ein.
Beispiel im TCA:
'config' => \nn\t3::TCA()->insertFlexform('FILE:EXT:nnsite/Configuration/FlexForm/slickslider_options.xml');
@return array\nn\t3::TCA()->insertOptions($config, $a = NULL);¶
Fügt Optionen aus TypoScript zur Auswahl in ein TCA ein. Alias zu nnt3::Flexform->insertOptions( $config, $a = null ); Beschreibung und weitere Beispiele dort.
Beispiel im TCA:
'config' => [
    'type' => 'select',
    'itemsProcFunc' => 'nn\t3\Flexform->insertOptions',
    'typoscriptPath' => 'plugin.tx_nnnewsroom.settings.templates',
    //'pageconfigPath' => 'tx_nnnewsroom.colors',
]
@return array\nn\t3::TCA()->setConfig($path = '', $override = []);¶
Eine Konfiguration des TCA überschreiben, z.B. um ein mask-Feld mit einem eigenen renderType zu
überschreiben oder Core-Einstellungen im TCA an den Tabellen pages oder tt_content zu ändern.
Folgendes Beispiel setzt/überschreibt im TCA das config-Array unter:
$GLOBALS['TCA']['tt_content']['columns']['mycol']['config'][...]
\nn\t3::TCA()->setConfig('tt_content.columns.mycol', [
    'renderType' => 'nnsiteIconCollection',
    'iconconfig' => 'tx_nnsite.iconcollection',
]);
Siehe auch \nn\t3::TCA()->setContentConfig() für eine Kurzfassung dieser Methode, wenn es um
die Tabelle tt_content geht und \nn\t3::TCA()->setPagesConfig() für die Tabelle pages
@return array\nn\t3::TCA()->setContentConfig($field = '', $override = [], $shortParams = NULL);¶
Eine Konfiguration des TCA für die Tabelle tt_content setzen oder überschreiben.
Diese Beispiel überschreibt im TCA das config-Array der Tabelle tt_content für:
$GLOBALS['TCA']['tt_content']['columns']['title']['config'][...]
\nn\t3::TCA()->setContentConfig( 'header', 'text' );     // ['type'=>'text', 'rows'=>2]
\nn\t3::TCA()->setContentConfig( 'header', 'text', 10 ); // ['type'=>'text', 'rows'=>10]
\nn\t3::TCA()->setContentConfig( 'header', ['type'=>'text', 'rows'=>10] ); // ['type'=>'text', 'rows'=>10]
@return array\nn\t3::TCA()->setPagesConfig($field = '', $override = [], $shortParams = NULL);¶
Eine Konfiguration des TCA für die Tabelle pages setzen oder überschreiben.
Diese Beispiel überschreibt im TCA das config-Array der Tabelle pages für:
$GLOBALS['TCA']['pages']['columns']['title']['config'][...]
\nn\t3::TCA()->setPagesConfig( 'title', 'text' );            // ['type'=>'text', 'rows'=>2]
\nn\t3::TCA()->setPagesConfig( 'title', 'text', 10 );        // ['type'=>'text', 'rows'=>10]
\nn\t3::TCA()->setPagesConfig( 'title', ['type'=>'text', 'rows'=>2] ); // ['type'=>'text', 'rows'=>2]
@return array