Ich würde echt gerne wissen was der "richtigste" Weg wäre. =)

-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von David Gurk
Gesendet: Montag, 14. Juli 2014 16:25
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] TYPO3 6.2.4 No extensionKey set in addPlugin().

Also ich habe bisher nur für diese Anpassung eine API-Funktion gefunden...

Vorher:
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']['ds'][',fe_header_teaser']
 = 'FILE:EXT:example/Configuration/FlexForms/FeHeaderTeaser.xml';

Nachher:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('*', 
'FILE:EXT:example/Configuration/FlexForms/FeHeaderTeaser.xml', 
'fe_header_teaser');


-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von David Gurk
Gesendet: Montag, 14. Juli 2014 16:06
An: German TYPO3 Userlist
Cc: Philipp Gampe
Betreff: Re: [TYPO3-german] TYPO3 6.2.4 No extensionKey set in addPlugin().

Hallo Philipp,

danke für deine Einwände. Nun frage ich mich allerdings, wie ich überhaupt die 
Einstellungen mit den beiden von dir genannten Funktionen bewerkstelligen soll. 

In der Tat habe ich mir diese zuvor schon angesehen. Der Punkt ist ja, dass 
addTCAcolumns() nur einen Index für $GLOBALS['TCA'][$table]['columns'] anlegt.

Aber ich lege je einen neuen Key für $GLOBALS['TCA']['tt_content']['types'] an. 
Und soweit ich es sehen kann, gibt's 'types' wohl keine API. Denn auch die 
andere Funktion addToAllTCAtypes() modifiziert nur bestehende 
"showitem"-Eigenschaften.

Wie sollte ich nun richtiger Weise vorgehen?

Danke auch noch für die Links zu den Infos für TCA/Override. So wird schon mal 
einiges klarer. =)

-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Philipp Gampe
Gesendet: Montag, 14. Juli 2014 12:59
An: typo3-german@lists.typo3.org
Betreff: Re: [TYPO3-german] TYPO3 6.2.4 No extensionKey set in addPlugin().

Hi David,

David Gurk wrote:

> Oh ich muss doch noch einmal einhaken... es gibt ja das neue TCA 
> caching
> feature: 
> http://lists.typo3.org/pipermail/typo3-dev/2014-April/048273.html
> 
> Wenn ich meine Datei in den Ordner Overrides rein lege, dann benötige 
> ich wohl offensichtlich auch nicht mehr das require_once. Allerdings 
> ist über diesem Weg wohl leider $_EXTKEY nicht präsent und somit 
> taucht mein Problem auf.
> 
> Ich musste nun überall manuell den Extension-Key hinzufügen, und dann 
> $TCA in $GLOBALS['TCA'] ändern.

Solltest du auch nicht machen, sondern die API nutzen:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns()
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes()

http://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html

> Nun nochmal umdenken... und alles wieder auf Anfang. In meiner 
> Extension habe ich in der ext_tables.php folgende Zeile definiert:
> require_once
> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) .
> 'Configuration/TCA/ContentElements.php';
> 
> Dort sind die Inhaltselemente wie in diesem Beispiel konfiguriert:
> http://pastebin.com/PA5sVZiV - Für die Übersichtlichkeit hatte ich 
> dies immer an den für mich am logischsten Ort ausgelagert. Das klappte 
> bisher auch immer sehr gut.
> 
> Als ich nun das require_once auskommentierte, blieb der Fehler, da die 
> ContentElements.php wohl automatisch geladen wird.
> 
> Aus dieser Schlussfolgerung heraus habe ich nun die Datei aus dem 
> TCA-Ordner verschoben und siehe da - es funktioniert wieder. Irgendwie 
> nachvollziehbar, aber leider auch ein wenig unbefriedigend.
> 
> Ich habe mich jetzt mal an
> http://www.typo3coder.nl/sitepackage/custom-content-elements/the-intro
> -element/ orientiert und einen Unterordner von TCA angelegt und alles 
> dort abgelegt.
> Ich denke mal, dass sollte ein gangbarer Weg sein und entspricht 
> weiterhin meinem Strukturgedanken.
> 
> Mich interessiert jetzt Deine/Eure Meinung zu dem Thema.
> 
> Und noch eine Frage an Oliver. Hängt dies wirklich mit der von dir 
> genannten Änderung (https://review.typo3.org/31233) zusammen, oder 
> vielleicht doch an einer anderen entscheidenden Sache? Schon 
> merkwürdig das es auf einmal nicht mehr ging, ob wohl ich mir 
> vorstellen kann, dass die Datei vorher wohl auch schon automatisch geladen 
> wurde.

Die Dateien in Configuration/TCA/*.php wurden für 6.x automatisch gelanden.
Sie dürfen nur das TCA Array enthalten und müssen auch nur das zurückgeben.

Beispiel:
https://git.typo3.org/?p=Packages/TYPO3.CMS.git;a=blob;f=typo3/sysext/core/Configuration/TCA/sys_language.php;h=39c30a4103e28c564d3cfc21a14e2f0ee9c48365;hb=HEAD

Seit 6.2 sollten die Manipulationen in Configuration/TCA/Override/ damit die 
ext_tables.php gecached werden können.

http://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/StoringChanges/Index.html

Grüße
--
Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln Documentation – Active 
contributor TYPO3 CMS
TYPO3 .... inspiring people to share!

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an