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 vonEXT: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
[DependciesAndConflicts]