TYPO3 Plugin:

customelements

Benutzerdefinierte Elemente Readme

Was bewirkt es?


Diese Extension ist eine Kickstarter-Erweiterung zur Erstellung von benutzerdefinierten Inhaltselementen in TYPO3. Ein benutzerdefiniertes Inhaltselement wird durch die folgenden Attribute definiert:

  • Es hat ein eigenes Frontend-Plugin
  • Das Plugin ist im Standard Content Element Wizard enthalten, so dass es im Backend im Standard Content Element Menü (und nicht im Menüabschnitt "Plugins") erscheint
  • die Felder des Elements werden in der Tabelle tt_content gespeichert

Wie man ein neues benutzerdefiniertes Inhaltselement einrichtet

  1. Gehen Sie zu Konfiguration/Element_Konfiguration.php.
    Hinzufügen einer neuen Elementkonfiguration zum customelements-Array (siehe Standardelemente und Konfigurationserklärung weiter unten)

  2. Gehen Sie zu Klassen/Controller/CustomelementController.php.
    Fügen Sie eine neue Aktion mit dem Namen "myelementkeyAction()" hinzu. Der Elementschlüssel ist der Schlüssel, den Sie im customelements-Array in 1 verwendet haben

  3. Gehen Sie zum Ordner Resources/Private/Templates/Customelement.
    Fügen Sie eine neue Vorlagendatei mit dem Namen "Myelementkey.html" hinzu.

  4. Wenn Sie neue Felder definiert haben, die standardmäßig nicht in der tt_content Tabelle vorhanden sind, gehen Sie zu "ext_tables.sql" und fügen Sie die sql-definition für das Feld in der tt_content Tabellendefinition hinzu (es gibt bereits Standarddefinitionen, die zeigen, wie dies geht).

Elementkonfiguration

Dies sind die Konfigurationsoptionen für die benutzerdefinierte elment Definition im Custom Element Array in element_configuration.php

Obligatorische Parameter

  • types' => (array|string) TCA-Konfiguration der Felder.
    Ein Array-Element sieht so aus: fieldKey' => [ [ 'tca-configuration' ].
    Es wird empfohlen, die Items-Class zu verwenden, die viele Standard-Tca-Konfigurationen für alle Arten von Feldern bietet. Wenn Sie ein Standard tt_content Feld wie "bodytext" oder "heading" verwenden, setzen Sie den Wert auf "default". Andernfalls wird die TCA-Definition für das Feld für alle Elemente, die dieses Feld verwenden, überschrieben.

Optionale Parameter:

  • label' => (string) label des Feldes, das im Backend angezeigt wird
  • description' => (String) Beschreibung, die im Inhaltsassistenten angezeigt wird
  • icon' => (string) wählte einen Pfad zu einem speziellen Symbol oder einem der folgenden Systemsymbolschlüssel:
    • bullet_list, div, filelinks, html, images_only, mailform, multimedia, regular_header, regular_text, suchformular, Verknüpfung, Tabelle, Text_Bild_unten, Text_Bild_rechts, benutzerdefiniert
  • sheet' => (String|array) Sheet, in dem das Element im Inhaltselementmenü erscheinen soll. Verwenden Sie "common", "special", "form", "plugin" für Systemblätter oder "array('key' => 'label')", um ein neues benutzerdefiniertes Blatt zu erstellen
  • UseHeader' => (boolean) Auf true setzen, um die Standard-Kopfpalette einzubinden
  • useFlexForm' => (boolean) auf true gesetzt, um ein flexForm einzubinden.
  • overwriteTCA' => (array) wenn gesetzt, wird die gesamte TCA-Konfiguration für das Feld mit diesem Wert überschrieben. Checkout TCA Referenz für Details: http://docs.typo3.org/typo3cms/TCAReference/

Abschnittskonfiguration (TCA-basiert)

Ein Abschnitt ist eine Zusammensetzung von Feldern, die unendlich hinzugefügt werden können. Es ist z.B. nützlich für Schieberegler-Elemente, die eine undefinierte Anzahl von Folien enthalten.
Die Elemente einer Sektion werden in einer separaten Tabelle gespeichert, die sich auf die tt_content Tabelle bezieht. Daher müssen Sie in "ext_tables.sql" eine neue Tabelle definieren (siehe Tabellendefinition "tx_customelements_keyvisual", die als Standardbeispiel ausgeliefert wird). Und vergessen Sie nicht, der tt_content Tabellendefinition ein neues Feld hinzuzufügen, das die Beziehung zur neuen Tabelle speichert (siehe auch das keyvisuelle Beispiel)

verbindliche Parameter für Sektionselemente:

  • isSection => (boolean), wenn auf 1 gesetzt, werden alle unter "types" definierten Felder zu einer wiederholbaren Abschnittszusammensetzung

optionale Parameter für Schnittelemente:

  • sectionsortKey => (string) Schlüssel des Elements, der in der Kopfzeile jedes Abschnittselements angezeigt wird
  • sectionSearchFields => (string) Schlüssel der Elemente im Abschnitt relation rable, die als Suchfelder verwendet werden
  • abschnittConfig
    -- minItems => (Integer) Min. Anzahl der Abschnittsblätter -- maxItems => (Integer) Maximale Anzahl der Schnittblätter

Wichtige Hinweise

Verwendung von standardmäßigen tt_content Feldern
sie sollten die standardmäßigen tt_content Felder verwenden, wann immer es möglich ist, um die Datenbankredundanz zu reduzieren. Beachten Sie jedoch, dass Sie den Wert für die Typdefinition im Konfigurationsarray für benutzerdefinierte Elemente auf "Standard" setzen müssen. Andernfalls wird die tca-Konfiguration für alle Elemente, die dieses Feld verwenden, überschrieben!

Konventionen für die wichtigsten Namen
benutze nicht den camelCase Stil. Es bricht!

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

Verteilung:CUSTOMELEMENTS ist auf

0 % aller TYPO3 installiert.

  • 0.02 % aller TYPO3 7.6.x Installationen installiert

Aktualität:CUSTOMELEMENTS ist auf dem neusten Stand (v.unknown) bei

100 % aller TYPO3 Installationen

  • 0 % aller TYPO3 9.5.x Installationen
  • 0 % aller TYPO3 9.3.x Installationen
  • 0 % aller TYPO3 9.2.x Installationen
  • 0 % aller TYPO3 8.7.x Installationen
  • 0.02 % aller TYPO3 7.6.x Installationen
  • 0 % aller TYPO3 7.5.x Installationen
  • 0 % aller TYPO3 7.4.x Installationen
  • 0 % aller TYPO3 7.3.x Installationen
  • 0 % aller TYPO3 7.2.x Installationen
  • 0 % aller TYPO3 7.1.x Installationen
  • 0 % aller TYPO3 7.0.x Installationen
  • 0 % aller TYPO3 6.2.x Installationen
  • 0 % aller TYPO3 6.1.x Installationen
  • 0 % aller TYPO3 6.0.x Installationen
  • 0 % aller TYPO3 5.0.x Installationen
  • 0 % aller TYPO3 4.7.x Installationen
  • 0 % aller TYPO3 4.6.x Installationen
  • 0 % aller TYPO3 4.5.x Installationen
  • 0 % aller TYPO3 4.4.x Installationen
  • 0 % aller TYPO3 4.3.x Installationen
  • 0 % aller TYPO3 4.2.x Installationen
  • 0 % aller TYPO3 4.1.x Installationen
  • 0 % aller TYPO3 4.0.x Installationen
  • 0 % aller TYPO3 3.5.x Installationen

Gosign-Responsive Index: TYPO3 Installationen nutzen CUSTOMELEMENTS zu

  • 100 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist

Pagespeed: TYPO3 Installationen nutzen CUSTOMELEMENTS zu

  • 100 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 0 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 0 % wenn der Pagespeed zwischen 40 % und 60 % ist
  • 0 % wenn der Pagespeed zwischen 20 % und 40 % ist
  • 0 % wenn der Pagespeed zwischen 0 % und 20 % ist


Stichprobe n=37654 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>