[Frage] Eigenes CE als Extension TYPO3-Version: 8.7.6

  • mimii mimii
    Jedi-Ratsmitglied
    0 x
    592 Beiträge
    1 Hilfreiche Beiträge
    21. 09. 2017, 12:05

    Hallo ins Forum,

    ich habe mich an div. Manuals entlang gehangelt und komme auf erste Ergebnisse. Die Aufgabenstellung ist die, im BE einen neuen Tab für CE's anzulegen, in dem Bootstrap Komponenten auswählbar sind.
    Mit einem Element hat das wunderbar geklappt, nun möchte ich ein zweites Element aufnehmen und weiß grad nicht weiter.

    Meine ext_tables.php
    [code]<?php

    TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Boostrap 4 components');

    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
    mod {
    wizards.newContentElement.wizardItems.extra {
    header = Bootstrap Components
    elements {
    Card {
    icon = ../typo3conf/ext/bootstrap_components/Resources/Public/Images/Backend/ContentElements/Card.png
    title = Card
    description = Boostrap Card
    tt_content_defValues {
    CType = card
    }
    }
    Carousel {
    icon = ../typo3conf/ext/bootstrap_components/Resources/Public/Images/Backend/ContentElements/Carousel.png
    title = Carousel
    description = Boostrap Carousel
    tt_content_defValues {
    CType = carousel
    }
    }
    }
    show = *
    }
    }
    ');
    ?>
    [code]

    Und hier, in der tt_content.php weiß ich nicht wie das zweite Element "Carousel" richtig eingebunden wird.
    [code]<?php

    $TCA = [
    'types' => [
    'card' => [
    'showitem' => '--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general,
    header;Card-Überschrift,
    image;Card-Bild,
    bodytext;Card-Text,
    --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,
    --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.visibility;visibility,
    --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.access;access,
    --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.extended'
    ],
    'carousel' => [
    'showitem' => '--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general,
    header;Carousel-Überschrift,
    subheader;Carousel-Untertext,
    image;Carousel-Bild,
    --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,
    --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.visibility;visibility,
    --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.access;access,
    --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.extended'
    ]
    ],
    'columns' => [
    'CType' => [
    'config' => [
    'items' => [
    'card' => [
    'Card',
    'card',
    'EXT:boostrap_components/Resources/Public/Images/Backend/ContentElements/card.png'
    ]
    ]
    ]
    ]
    ]
    ];

    \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($GLOBALS['TCA']['tt_content'], $TCA);
    [/code]

    Im Bereich Types habe ich es ja noch dazugewurstelt, aber wie krieg ich es im Bereich columns richtig rein? Vielleicht ist das so ja auch eher suboptimal.... :-/

    Wie wäre es denn korrekt bzw. optimal... bzw. für Anfänger in dem Bereich verständlich.

    Danke für Eure Hilfe und Gruß
    mimii


  • 1
  • Teisinger Teisinger
    Jedi-Meister
    0 x
    441 Beiträge
    29 Hilfreiche Beiträge
    21. 09. 2017, 20:17

    für anfänger verständlich? nach so nem tutorial halte ich auch schon seit ewig ausschau... :D
    guck dir doch mal andere Extensions an, z.B. gridelements oder mask :)

    https://github.com/groundstack-org

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2973 Beiträge
    122 Hilfreiche Beiträge
    22. 09. 2017, 09:12

    Hallo zusammen.

    In der Dokumentation von "Fluid Styled Content" gibt es einen Abschnitt "Adding your own content elements":
    https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/7.6/AddingYourOwnContentElements/Index.html
    Dort wird gleich zu Beginn erklärt, wie neue CEs in der New Content Element Wizard gelagen bzw. als CTypes hinzugefügt werden.

    Viele Grüße
    Julian

  • mimii mimii
    Jedi-Ratsmitglied
    0 x
    592 Beiträge
    1 Hilfreiche Beiträge
    22. 09. 2017, 11:06

    Hi Julian,

    jaja... da habe ich mich auch schon durchgeplagt ;-) Mit Copy&Paste klappt das alles, aber wenn ich umbaue geht hier gar nix mehr.

    Ich möchte kein weiteres CD im Tab "General" ich möchte einen eigenen Tab, in dem ich mir nach und nach die von mir benötigten Boostrap 4 Komponenten hinzufüge. Zunächst sind das erstmal die beiden "Card" und "Carousel". Inzwischen habe ich beide Elemente drin, kann sie auswählen und die Eingaben machen. Die Fluid-Templates sind angepasst, die Ausgabe stimmt soweit.

    Jetzt habe ich das Problem, wie ich den neuen ckeditor für die Eingabe der Textfelder (bodytext) einbinde. Bisher habe ich das, wobei das Texteingabefeld ohne jegliche Formatierunge daherkommt und auch keine <p> Tags in den Quellcode übergibt.

    [code]$TCA = [
    'types' => [
    'card' => [
    'showitem' => '
    --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
    header;Card-Überschrift,
    image;Card-Bild,
    bodytext;Card-Text,
    --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,
    --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.visibility;visibility,
    --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.access;access,
    --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.extended'
    ],
    ....
    [/code]

    Wenn mir jemand auf die Sprünge hilft den Editor hier rein zu bekommen, wäre ich ein großes Stück weiter.... dann käme noch das große Thema dem neuen Editor die Boostrapklassen beizubringen (gibt's hierzu denn schon gute Tutorials )

    Danke und Gruß
    mimii

  • 1