TYPO3 Plugin:

view

Fluid Views mit erweiterter Funktionalität

Erweitert die Standard Views in Fluid um Klassen mit zusätzlichen Funktionen.

ViewHelper Argumentwerte der Argumente

Wenn der Argumentwert der Argumente einer ViewHelper-Instanz im Fluid-Template nicht definiert ist, ist es möglich, ihn mit TypoScript einzustellen. Alles, was Sie wissen müssen, ist der Klassenname des ViewHelper, der das Argument enthält:

# Setzt eine Standardkonfiguration für das Paginate Widget von Fluid
plugin.tx_view.viewhelpers.Tx_Fluid_ViewHelpers_Widget_PaginateViewHelper.arguments.defaults.configuration {
    artikel Pro Seite = 20
    insertBelow = 1
    insertAbove = 0
}

# Das gleiche wie oben, aber gewaltsam überschreiben eines vorhandenen Arguments - Beispiel: alle Paginatoren überall überschreiben
plugin.tx_view.viewhelpers.Tx_Fluid_ViewHelpers_Widget_PaginateViewHelper.arguments.override.configuration { ..... }

# Stellen Sie sicher, dass jedes VHS-Asset vom Typ JavaScript als eigenständige Dateien eingebunden wird
plugin.tx_view.viewhelpers.Tx_Vhs_ViewHelpers_Asset_ScriptViewHelper.arguments.override.standalone = 1

# Ändern des Wertes des Standard-Registertitels "Optionen" in Fluxformularen
plugin.tx_view.viewhelpers.Tx_Flux_ViewHelpers_FlexForm_SheetViewHelper.arguments.defaults.label = Mein Standardtitel

Achtung: Die definierten Standardwerte gelten nur, wenn der Wert nicht angegeben ist. Das bedeutet, dass, wenn der Wert unter das Fluid-Template wird es nicht überschrieben, unabhängig davon, ob es leer ist oder nicht. Überschreibt immer überschrieben, Argument vorhanden oder nicht.

Überlagerung von Template-Pfadpfaden

Kein Kopieren mehr von ganzen Ordnern von Vorlagen, nur um eine einzige Vorlagendatei zu überschreiben. Stattdessen sollte man EXT:view sich darum kümmern durch Überschreiben der Standardvorlage TemplateView und Hinzufügen einer einfachen Funktion.

plugin.tx_news.view.overlays.myext.partialRootPath = EXT:myext/Resources/Private/Partials/

Mit nur einer Datei im EXT:myext/Resources/Private/Partials/ path - fx EXT:myext/Resources/Private/Partials/List/Item.html der überschriebene View analysiert nun jeden Overlay-Pfad, um eine Overlay-Datei für die spezifische Datei zu erkennen, auf die verwiesen wird.

Jeder der Wurzelpfade Teil, Vorlage und Layout kann einzeln überlagert und Überlagerungen können gemischt werden. Nehmen wir an, dass dass du möchtest, dass EXT:foo ein paar Partials und ein Layout für EXT:news bereitstellt, aber dass EXT:bar einen einzigen Teilbereich bereitstellt template-Datei, weil es dir so gefällt. Nehmen wir an, EXT:foo enthält diese Dateien:

  • EXT:foo/Ressourcen/Private/Teile/Kategorie/Items.html
  • EXT:foo/Ressourcen/Private/Layouts/Default.html

Und diese EXT:bar enthält diese Datei:

  • EXT:bar/Ressourcen/Private/Teilbereiche/Liste/Item.html

Ohne EXT:view wäre es unmöglich, von derselben Seite aus Zugang zu diesen beiden Partialen zu erhalten. Aber mit EXT:view ist es so möglich:

plugin.tx_news.view.overlays.foo.partialRootPath = EXT:foo/Ressourcen/Private/Teile/
plugin.tx_news.view.overlays.foo.layoutRootPath = EXT:foo/Ressourcen/Private/Layouts/
plugin.tx_news.view.overlays.bar.partialRootPath = EXT:bar/Ressourcen/Private/Teile/

Gibt das folgende Verhalten in EXT:view, wenn die Teilvorlage Category/Items.html angefordert wird:

  • Versucht, die Vorlage in EXT:bar zu finden, weil sie ein Overlay für den Pfad der Teilvorlage hinzugefügt hat und dies zuletzt getan hat. Das letzte TypoScript hat Vorrang, so wie es normalerweise der Fall wäre. Aber die Vorlagendatei ist hier nicht zu finden, also fahren wir fort.
  • Versucht, die Vorlage in EXT:foo zu finden, da sie als nächstes kommt. Dieser Pfad hat die Vorlagendatei, so dass diese Datei von EXT:view zurückgegeben wird

Die gleiche Logik gilt für jeden Satz von Vorlagenpfaden. Wenn Sie eine Layoutdatei anfordern, werden nur die Overlays mit der Option layoutRootPath-Einstellungen werden berücksichtigt. Wenn eine Datei nicht gefunden wird, wird das nächste Overlay analysiert, bis schließlich EXT:view Standardwerte erreicht werden auf das alte Verhalten.

Leistung

Es gibt fast keine Auswirkungen auf die Leistung von EXT:view. Es wird der gleiche TypoScript-Speicherort verwendet und ist daher immer verfügbar beim Rendern, so dass die einzige Auswirkung von EXT:view ist:

  • Extrem geringer Overhead in TypoScript
  • Fast kein Overhead beim Laden von Klassen
  • Geringer (kurze Zeichenkettenverarbeitung und Array-Sortierung) Overhead pro registriertem Overlay, das verarbeitet werden muss

Insgesamt wirkt sich dies auf einige wenige Megabyte Speicher, einige zusätzliche TS-Parsings und eine Handvoll Funktionsaufrufe pro Overlay aus.

Implementierung des erweiterten View

  • Installieren Sie die Erweiterung
  • Gehen Sie zum Erweiterungsmanager und klicken Sie auf die Zahnräder rechts neben EXT:view, um zur Erweiterungskonfiguration zu gelangen
  • Hier können Sie view Pfadüberlagerung und ViewHelper Überlagerung separat aktivieren, indem Sie das entsprechende Kontrollkästchen aktivieren
  • Speichern der Konfiguration
  • Du bist fertig - Overlays sind aktiviert!

Unterstützte TYPO3-Versionen

  • 4.5
  • 4.6
  • 4.7
  • 6.0
  • 6.1
  • 6.2

Warum ist dies nicht Teil der TYPO3 Core Extension Fluid oder gar Flow? Ich will das auch in Neos, weißt du!

Wenn der Kern es will, kann der Kern es sicherlich haben. Aber ich will meine Zeit nicht damit verschwenden, zuerst zu diskutieren, warum das Teil davon sein sollte Flow, dann mach es für Flow, dann backport es und dann endlich in der Lage sein, das, was ich bereits gemacht habe, einzureichen. Ich habe nur drei Stunden damit verbracht und ich wäre verdammt, wenn ich dann drei Monate damit verbringen würde, gegen das TYPO3-Beitragshürdensystem zu kämpfen. Mit dem Weg die Dinge sind, dass ich wahrscheinlich den ganzen Weg kämpfen würde, bis Neos freigelassen wird. So, da haben Sie es.

Viel Spaß, ich wünsche dir viel Spaß!

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

Verteilung:VIEW ist auf

0 % aller TYPO3 installiert.

  • 0.02 % aller TYPO3 7.6.x Installationen installiert

Gosign-Responsive Index: TYPO3 Installationen nutzen VIEW zu

  • 0 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 100 % 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 VIEW 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=36967 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>