TYPO3 Plugin:

b13base

B13 Basisverlängerung

Was diese Erweiterung bewirkt

Diese Erweiterungen

  • fügt der tt_content Tabelle zusätzliche Felder hinzu, um Links, Buttons etc. konsistent zu verwenden.
  • fügt zusätzliche Tabelle tx_b13_items für den Listentyp der Elemente (Schieberegler, Listen, Galerie usw.) hinzu
  • fügt ein standardmäßiges FLUIDTEMPLATE-Rendering für Inhaltselemente hinzu, das nach einer Fluid-Vorlage für Ihr Inhaltselement sucht, basierend auf dem CType als Namen
  • fügt ein "copyright"-Feld zur sys_file_reference-Tabelle hinzu
  • fügt tt_content ein "todo"-Element hinzu, das für Redakteure Noten aller Art aufnehmen kann. Die Ausgabe dieses Elements ist nur sichtbar, wenn man sich im Backend einloggt.

Diese Erweiterung ist als Grundlage für Ihre Site-Extensions und alle benutzerdefinierten Inhaltselemente zu verwenden, die Sie für Ihr Projekt erstellen müssen. Es fügt zusätzliche Felder zur tt_content-table hinzu (zusätzliche Link-Felder mit Labels, zusätzliches Konfigurationsfeld und ein Feld zum Hinzufügen von Listenelementen) und fügt eine zusätzliche Tabelle hinzu, um Listenelemente aller Art für die Verwendung in Ihren benutzerdefinierten Listen, Schieberelementen, Galerien und anderen Arten von Elementen für Ihr Projekt zu speichern.

Verwenden Sie das standardmäßige FLUIDTEMPLATE

Richten Sie Ihr site_-project so ein, dass es das TypoScript-Setup dieser Erweiterung enthält:

<INCLUDE_TYPOSCRIPT: source="FILE:EXT:b13base/Konfiguration/TypoScript/setup.txt">

Dadurch wird die TypoScript-Konfiguration hinzugefügt, um eine Fluid-basierte Ausgabe Ihrer Inhaltselemente basierend auf dem Namen (CType) Ihres Elements (basierend auf fluid_styled_content) zu ermöglichen. Diese Konfiguration fügt die benötigten Datenprozessoren für das Asset-Feld von tt_content sowie das tx_b13_list-field (DatabaseQueryProcessor) und die beiden Image-Felder der Tabelle tx_b13_items hinzu. Siehe EXT:b13base/Konfiguration/TypoScript/setup.txt für weitere Details.

Inhaltselemente

Dieses Setup für die Darstellung von Inhaltselementen auf Basis von Fluid-Vorlagen wird mitgeliefert und fügt den Standardordnern fluid_styled_content zusätzliche Vorlagenpfade hinzu:

# fluid Template Pfade hinzufügen
lib.fluidInhalt {
    layoutRootPfade {
        0  = EXT:frontend/Ressourcen/Private/Layouts
        10 = EXT:fluid_styled_content/Ressourcen/Private/Layouts/
        20 = EXT:b13base/Ressourcen/Private/Layouts/
        30 = {$b13.content.additionalLayoutRootPath}}
    }
    partielle Wurzelpfade {
        0  = EXT:frontend/Resources/Private/Partials
        10 = EXT:fluid_gestylter_Inhalt/Ressourcen/Private/Teile/
        20 = EXT:b13base/Ressourcen/Privat/Private/Teilen/
        30 = {$b13.content.additionalPartialsRootPath}
        31 = `
    }
    templateRootPaths {
        0  = EXT:frontend/Resources/Private/Templates
        10 = EXT:fluid_gestylter_Inhalt/Ressourcen/Private/Vorlagen/
        20 = EXT:b13base/Ressourcen/Private/Templates/
        30 = {$b13.content.additionalTemplatesRootPath}
    }
    templateName >
    templateName.ifEmpty.cObject = TEXT
    templateName.ifEmpty.cObject.field = CType
}

Zusätzlich enthalten wir eine Einstellung für die namensbasierte Vorlagenauswahl, d.h. der Name des CT-Typs, der von Ihrer Erweiterung hinzugefügt oder verwendet wird, wird verwendet, um den .templateName zu setzen, wenn er nicht explizit gesetzt wird.

templateName.ifEmpty.cObject = TEXT
templateName.ifEmpty.cObject.field = CType

Wir fügen auch alle benötigten Datenprozessoren für die Bildfelder und Dateifelder für tt_content und tx_b13_items hinzu.

Sie müssen Konstanten in Ihrer site_-extension so einstellen, dass sie auf Ihren Ordner zeigen, um benutzerdefinierte Inhaltselemente mit Fluid wiederzugeben:

b13.content {
    zusätzliches LayoutRootPath =
    additionalPartialsRootPath =
    zusätzlicheTemplatesRootPath =
}

Seiten

Diese Erweiterung fügt eine TypoScript-Einstellung für die lib.fluidPage hinzu, mit der Sie Seitenvorlagen hinzufügen können, indem Sie ein Backend-Layout und eine entsprechende Fluid-Vorlage für das Seiten-Rendering hinzufügen:

# Verwenden Sie fluid, um Seitenvorlagen zu rendern
lib.fluidPage = FLUIDTEMPLATE
lib.fluidSeite {
    templateRootPaths.10 = {$b13.pages.additionalTemplatesRootPath}
    
    partielle RootPaths.10  = {$b13.pages.additionalPartialsRootPath}
    partielle RootPaths.11  = {$b13.fluid.snippetsRootPath}

    templateName = TEXT
    templateName.data = Seitenlayout
    templateName.stdWrap.replacement {
        10.suche = pagets__
        10.ersetzen =
    }

    dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    dataProcessing.10 { {
        referenzen.fieldName = media
        referenzen.tabelle = seiten
        sorting = sorting_foreign
        als = Medien
    }
}

Ausschnitte

Sowohl für Inhaltselemente als auch für Seiten gibt es eine zusätzliche Konstante {$b13.fluid.snippetsRootPath}, mit der Sie einen Ordner für Partials festlegen können, den Sie möglicherweise zwischen Inhaltselementen und Seitenvorlagen teilen möchten. Die Verwendung ist optional.

Rendering von Inhaltselementen für das Backend-Seitenmodul

Um eine benutzerdefinierte Ansicht für eigene Inhaltselemente im Backend-Seitenmodul hinzuzufügen, enthält diese Erweiterung eine ViewHelper zur Anzeige von Listenelementen aus tx_b13base_items (siehe Klassen/ViewHelpers/ForViewHelper.php für weitere Details).

Sie müssen für jedes Inhaltselement eine Zeile Code zu Ihrer PageTSConfig hinzufügen:

mod.web_layout.tt_content.preview.<CType> = EXT:site_<Ihr Projekt>/Ressourcen/Private/Vorlagen/Inhaltselemente/Backend/<CType>.html

Wenn Sie Listenelemente in der Vorschau Ihres Inhaltselements im Seitenmodul anzeigen möchten, können Sie die von dieser Erweiterung bereitgestellte ViewHelper verwenden:

{namespace b13 = B13\B13base\ViewHelpers}
<b13:für localField="tx_b13_list" foreignTable="tx_b13_items" localUid="{uid}" foreignField="contentelement" as="item" >
    <p><b>{item.header}</b>>
    <br><f:format.stripTags><f:format.crop maxCharacters="200" respectWordBoundaries="true" respectHtml="false" append="....">{item.bodytext}</f:format.crop></f:format.stripTags>>
    </p>
</b13:for>

Das ViewHelper <b13:for> funktioniert im Grunde genommen wie der Standard <f:for> ViewHelper.

Eigene Inhaltselemente erstellen

Einfache Inhaltselemente

Um ein Inhaltselement zu Ihrer site_-extension hinzuzufügen:

Fügen Sie die TCA-Konfiguration für tt_content in /Configuration/TCA/Overrides/tt_content.php hinzu

// Füge den CType für dein Element zur Liste der verfügbaren Elemente hinzu
$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][] = array('<Name Ihres Elements, kann eine LLL-Zeichenkette sein', '<Name>');

// Füge die Showitem-Konfiguration für dein Element hinzu
$GLOBALS['TCA']['tt_content']['types']['<Name>']['showitem'] =
    Ihre Konfiguration..... Ihre Konfiguration... ''

Achten Sie darauf, dass Sie Standardpaletten aus den Standardinhaltselementen (z.B. Registerkarte "Zugriff", Rasterfelder etc.) hinzufügen.

Fügen Sie dann Ihre Fluid-Vorlage zu dem Ordner hinzu, den Sie mit den Konstanten eingestellt haben (siehe oben). Benennen Sie die Vorlagendatei genauso wie Ihren CT-Typ.

Fügen Sie Ihr Element über PageTSConfig dem "New Content Element Wizard" hinzu:

# Hinzufügen der gewünschten Elemente zum neuen Inhaltselement-Assistenten
mod.wizards.newContentElement.wizardItems.<name-der-elementgruppe>.elements {
    <CType> { { {
        iconIdentifier = Inhaltstext
        title = <title für Ihr Element, kann ein LLL-String sein>.
        beschreibung = <Beschreibung für Ihr Element, kann ein LLL-String sein>.
        tt_content_defValues.CType = <CType deines Elements>
    }
}

Sie können bei Bedarf zusätzliche DefWerte einstellen.

Komplexe Elemente/Listenelemente (Schieberegler, Listen usw.)

Sie müssen zusätzliche Dateien und Konfigurationen für die Listenelemente Ihres Inhaltselements hinzufügen:

Fügen Sie die Showitem-Konfiguration für die Felder hinzu, die Ihre Listenelemente in /Configuration/TCA/Overrides/tx_b13_items.php verwenden sollen:

$GLOBALS['TCA']['tx_b13_items']['types']['<CType>']['showitem'] = '
    ...Felder.......,
    --palette--;;hiddenpalette';

Achten Sie darauf, dass Sie die hiddenpalette angeben, die nicht sichtbare, aber benötigte Felder enthält (wie parent uid etc.).

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

Verteilung:B13BASE ist auf

0.02 % aller TYPO3 installiert.

  • 0.19 % aller TYPO3 8.7.x Installationen installiert

Aktualität:B13BASE 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.19 % aller TYPO3 8.7.x Installationen
  • 0 % 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

PHP Version:B13BASE wird benutzt mit

  • 33.33 % PHP/7.0
  • 66.67 % PHP/5.5

Gosign-Responsive Index: TYPO3 Installationen nutzen B13BASE 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 B13BASE zu

  • 44 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 22 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 33 % 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=37729 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>