[Frage] [Frage] Wie bereits bestehende Palette zu cType hinzufügen? TYPO3-Version: 7.6.0

  • eisstern eisstern
    R2-D2
    0 x
    112 Beiträge
    0 Hilfreiche Beiträge
    17. 10. 2016, 11:12

    Hallo,

    gleich vorweg: Es handelt sich nicht um die Frage, wie ich meine eigene neue Palette zu bereits bestehenden cTypes hinzufüge.

    Das Problem: Ich füge verschiedene Felder z.B. der Frames Palette hinzu. Einige cTypes besitzen diese Palette aber nicht. Bsp. div (nein) und textmedia (ja). Somit werden zwar die Felder bei allen, die diese Palette besitzen angezeigt, aber fehlen bei anderen.

    Ich habe keine Funktion gefunden, die eine gesamte Palette nachträglich in TCA/Overrrides/tt_content.php hinzufügt. Gibt es hierfür doch versteckt eine Funktion, oder muss ich hierfür tatsächlich meine eigene Umsetzung schreiben?

    Vielen Dank


  • 1
  • 0 x
    3263 Beiträge
    156 Hilfreiche Beiträge
    19. 10. 2016, 09:12

    Hallo.

    Ich würde sagen, dass es so ganz automatisiert schlicht nicht möglich ist. Wenn Du Dir den Aufbau des TCA anschaust, insbesondere [url=https://docs.typo3.org/typo3cms/TCAReference/Reference/Types/Index.html#showitem]types -> showitem[/url], wird dies denke ich klar:
    das Einfügen einer Palette in die Liste der Felder erfolgt als 3. Teil eines Eintrags (also hinter dem zweiten Strichpunkt).

    Ein globales Einfügen der Palette müsste also eine [u]immer vorhandene Spalte[/u] als Parameter genannt bekommen (die ihrerseits [b]keine[/b] Palette haben darf!). Das sind bereits zwei Bedingungen, die kaum erfüllbar sind. Wie sollte TYPO3 reagieren, falls eine der Bedingungen nicht erfüllt ist?

    Glaube, Dein Wunsch ist einfach nicht so trivial und automatisiert lösbar, sondern bedarf doch des geschulten Blickes eines Entwicklers.

    Viele Grüße
    Julian

  • 0 x
    23 Beiträge
    1 Hilfreiche Beiträge
    28. 10. 2016, 09:01

    Sofern ich Dein Anliegen richtig verstanden habe (und du die tt_content-Tabelle erweitert hast) solltest du in den TCA/Overrides/tt_content.php die Palette definieren und anschließend mit

    [code]

    1. TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes();
    [/code]

    hinzufügen können.

    Hier noch eine kleine Anregung:
    https://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html

  • 1