Aktuelle Informationen rund um TYPO3

Archiv zur KategorieAllgemein

Featurewunsch für TemplaVoila 2.0

Seit TemplaVoila eingeführt wurde, stellt TYPO3 ein sehr flexibles Templating System zur Verfügung. Die folgt u.a. daraus, dass Inhaltselemente ineinander geschachtelt und somit auch in verschiedenen Kontext-Situationen eingesetzt werden können. Außerdem ermöglicht der Einsatz von Sections, Elemente zu wiederholen. Gerade für Redakteure ermöglichen diese spezialisierten Eingabemasken ein effizientes Arbeiten.

Leider haben wir nun bereits zum wiederholten Male die Grenzen dieses Systems gespürt. Zwei simple Beispiele sollen hier kurz einleitend geschildert werden:

  • Tab-Elemente scheinen modern. Doch wie realisiert man diese, so dass die Eingabemasken eine optimale Pflege durch die Redakteure und trotzdem eine hohe Flexibilität bezüglich der Anzahl der Reiter sowie deren Inhalte erlauben.
  • Gerade bei längeren Seiten sind Inline-Menü-Elemente ein gutes Mittel, um die Inhalte zu strukturieren. Hierbei wird jeweils abwechselnd das Menü und die jeweiligen Inhalte angezeigt; bei Klick auf die Links springt das Browserfenster zu jeweiligen Stelle in der Seite.

Optimal geeignet für die beiden Fälle wären Sections, die jeweils einen CONTENT Feld und ein Titel-Feld beinhalten. Das funktioniert prinzipiell auch, nur die Benutzer-Schnittstellen sind hier nicht ganz optimal, denn anders als bei normalen TemplaVoila Content Elements-Felder wird hierbei nicht ein neuer Content Bereich im Page-View angelegt, in das bequem neue Inhaltselemente platziert werden können. Stattdessen müssen Inhaltselemente umständlich über TYPO3 eingebunden werden.

Dementsprechend wünsche ich mir von TemplaVoila 2.0 die Möglichkeit, auf irgendeine Art und Weise eine flexible Anzahl von Content Bereichen zu definieren. Momentan ist dies aufgrund der unterschiedlichen Darstellung im XML nur schwer möglich.

Bis zur Umsetzung dieser Featurewünsche haben wir vorerst eine Umsetzung ohne Flexibilität bezüglich der

LESS Dynamic Stylesheet Language für TYPO3

Wir haben eine erste Version von einer neuen Extension von uns für eine {less} Unterstützung in TYPO3 namens fb-less in Github veröffentlicht. Mit der Extension ist es auf einfache und komfortable Weise möglich less-Dateien mit TYPO3 serverseitig kompilieren und ausgeben zu lassen.

Less ist eine dynamische Stylesheet-Sprache. Sie erweitert den CSS-Standard um verschiedene dynamische Elemente wie Variablen, Funktionen, Rechenoperatoren etc. Less kann dabei im Browser per JavaScript interpretiert werden, was allerdings dazu führt, dass die ausgelieferten CSS-Dateien nicht mehr CSS-valide sind. Ferner sinkt die Frontend-Performance der Webseite etwas.

Es besteht auch die Möglichkeit, mittels node.js ein valides JavaScript bereits serverseitig zu generieren. Um die Extension aber möglichst kompatibel mit den verschiedensten TYPO3-Setups zu machen, haben wir uns für den in PHP geschriebenen less-Interpreter lessphp entschlossen.

Die Verwendung der Extension ist denkbar einfach. Die CSS-Dateien, die man mit less erstellen möchte, nennt man nun einfach .less statt .css. Beispielhafte TypoScript-Konfiguration:

page.includeCSS.file1 = fileadmin/templates/css/style.less

Zusätzlich muss man noch die CSS-Kompression aktivieren, denn die Realisierung haben wir über einen cssCompressHandlervorgenommen. Somit ist natürlich auch klar, dass die Extension nur mit TYPO3 4.5 oder neuer funktioniert, da es vorher keine cssCompressionHandler in TYP03 gab. Damit überhaupt cssCompressionHandler verwendet werden, muss im TypoScript-Setup ein entsprechendes Flag gesetzt werden:

config.minifyCSS = 1

Less Logo

Less – eine dynamische Stylesheet-Sprache

Die Extension generiert dann automatisch eine CSS-Datei aus der LESS-Datei und legt diese unter typo3temp/fb_less/ ab. Da nun aber über den Compression-Handler die Less-Interpretation erwirkt wird, können über TYPO3-Basismittel durch diese Extension keine CSS-Dateien mit komprimiert werden. Um gleichzeitg aber dennoch Unterstützung für die CSS-Kompression zu erhalten, kann über die Extension-Konfiguration (im Extension-Manager) eine Kompression angeschaltet werden, welche mittels der TYPO3-Klasse t3lib_Compression eine Kompression der generierten CSS-Datei vornimmt.

Nun noch eine kleine Abgrenzung unserer Extension zu der Extension less von Axel Brand. Diese Extension bietet zwar eine recht vergleichbare Funktion, allerdings hat diese Extension unserer Meinung nach verschiedene Nachteile:

Zum einen ist die Extension von Axel Brand als eine USER_INT-Extension angelegt und wird somit bei jedem Page-Request gerendert, woraus ein Performance-Problem entstehen kann. fb_less hingegen kompiliert die CSS-Datei ganz normal während der Seitengenerierung, um weiterhin eine performante Darstellung zu ermöglichen.

Außerdem ermöglicht fb_less ein automatisches Caching der generierten CSS-Dateien. Die LESS-Datei wird nur neu kompiliert, wenn diese sich geändert hat. Bei der less-Extension im Repository muss über ein enable-Flag das Generieren gesteuert werden. Entweder wird die Datei jeden Pagerequest generiert (=> langsam) oder garnicht. Im letzterem Fall muss das Flag umgesetzt werden, wenn man eine Änderung an der Less-Datei vorgenommen hat. Danach muss man einen Pagerequest durchführen.

Zu guter Letzt bietet fb_less die volle Kompatibilität zu den weiteren Funktionen der CSS-Einbindung (page.includeCSS) von TYPO3. Und dort wird sich ja auch bei der zukünftigen Version TYPO3 4.6 wieder viel tun.

Relaunch der Webseite von MS Schramberg

Flagbit startet in den November mit dem Relaunch der Webseite des Herstellers von Magneten MS-Schramberg GmbH und Co. KG.

Unter anderem sind nun fünf Produktfamilien auf der Seite zusammengefasst, wobei jede einzelne Produktpräsentation für sich optimiert wurde.

Struktur und Navigation der Webseite wurden insgesamt übersichtlicher und komprimierter gestaltet. Wichtiges Ziel war dabei, dem Kunden einen leichteren Zugang und Überblick über die einzelnen Navigationspunkte zu ermöglichen.

Dabei wurden unter anderem die Punkte Kompetenzen und Wissenswertes in die Navigation aufgenommen um zu einen einzelne Kompetenzpunkte der Firma detailliert beschreiben zu können und zum anderen den Kunden über Fachausdrücke und alles zum Thema Magnettechnik übersichtlich informieren zu können.

Die MS-Schramberg GmbH und Co. KG ist einer der führenden Hersteller von Permanentmagneten und Baugruppen. MS-Schramberg Produkte finden sich in der Luft- und Raumfahrttechnik, Automotiven, Umwelttechnik, Medizin und im Maschinenbau weltweit. Ein wichtiges Anliegen hinter den Produktideen ist es, Verlässlichkeit, Einfachheit, Kontinuität und Ehrlichkeit zu gewährleisten.

Insgesamt überzeugt die neue TYPO3-Webseite mit einem klaren und aufgeräumten Design, das Kunden einen strukturierten und informativen Überblick über die Produktwelt von MS Schramberg liefert. Wir bedanken uns bei der MS-Schramberg GmbH u. Co. KG für die gute Zusammenarbeit, wünschen viel Erfolg online sowie offline und freuen uns auf  weitere spannende Projekte.

Zu sehen ist die neue Webseite unter www.magnete.de

TYPO3 Flow im Live-Einsatz


Da TYPO3 Flow bereits seit längerem live ist, folgt heute ein Beitrag zu Erfahrungen in der Praxis mit Flow von Gast-Autor David Sporer, Gründer von Passcreator.

 

TYPO3_FLOW_Logo

TYPO3 Flow wurde anfangs unter dem Namen FLOW3 entwickelt und ist die Basis von TYPO3 Neos, dem neuesten Content Management System der TYPO3 Familie. Flow kann als Framework unabhängig von Neos genutzt werden. Hierbei ist grundsätzlich der Ansatz erkennbar, dass Flow nicht nur eine Sammlung von Bibliotheken sein will, sondern Entwicklern als Basis für Web Applikationen dienen will und hierbei einige Dinge vorgibt, durch die man sich auf das wesentliche konzentrieren kann: Die Entwicklung.

Bei Passcreator ist Flow bereits seit 2012 im Einsatz und neben den Vorteilen, wie Domain Driven Design oder die Verwendung von Kontexten, was die Konfiguration von Test- und Live-Umgebungen beispielsweise sehr komfortabel macht, wird David im Folgenden auf ein paar Dinge eingehen, die bei der Entwicklung von Passcreator am hilfreichsten waren.

Sauberer, lesbarer Code

Flow hilft sauber zu programmieren. Durch die technischen Vorteile wie Dependency Injection spart man sich Code-Zeilen. Durch klare Coding-Guidelines ist sichergestellt, dass sinnvolle und aussagekräftige Namen für Klassen und Variablen verwendet werden und der Code gut les- und wartbar bleibt.

Aspect Oriented Programming (AOP)

AOP bedeutet, dass Elemente, die an vielen Stellen im System verwendet werden, aber eigentlich nicht direkt etwas mit der eigentlichen Anwendungslogik zu tun haben, getrennt behandelt werden. Konkrete Beispiele sind Logging oder  Sicherstellen der korrekten Sprachanzeige einer Seite. In einem Aspekt wird zuerst ein JoinPoint definiert. Dieser legt fest, an welcher Stelle der Anwendung der Code des Aspekts ausgeführt wird. Sollen z.B. alle Löschungen im System geloggt werden, kann vor jeder deleteAction eines Controllers in ein Logfile geschrieben werden, welcher User welches Objekt löscht. Die eigentliche deleteAction jedoch muss sich nur um das Löschen des Objekts kümmern. Wird künftig ein neuer Controller mit einer neuen deleteAction erstellt, kümmert sich Flow automatisch darum, dass auch hier immer geloggt wird was von wem gelöscht wurde.

weiterlesen »

Flagbit beim T3BOARD

T3BOARD LocationEinmal im Jahr trifft sich die TYPO3 Community in Alpen Österreichs und geniest eine Woche voller Spaß und Schnee. Der große Unterschied an diesem Event ist, dass es hierbei größtenteils um Sport, Spaß und Socializing geht. Trotzdem ist TYPO3 natürlich das Hauptthema.

Zu besuchen gab es verschiedene Themen wie das Erstellen von modularen JavaScript Anwendungen mit Vagrant, einen TYPO3 Flow Workshop und viele andere. Zusätzlich gab es natürlich auch sehr viel Spaß und Sport. Das „Legendäre“ Fußballturnier, viel Skifahren und Boarden waren natürlich auch an der Tagesordnung.

Nachdem das T3BOARD13 nun vorbei ist und die Flagbit Mitarbeiter wieder Zuhause, können wir nun auf eine erfolgreiche und interessante Woche zurückblicken. Vom Event gibt es übrigens eine Bildergalerie auf flickr.com, die alle Teilnehmer gerne vervollständigen können.

« Vorherige Einträge