Fluid in Typo3: Override Templates hat sich geändert

Der Typoscript Code um Templates zu überschreiben (override templates) hat sich geändert. Ich musste dies bei mir in Typo3 8.x ändern – und hab die Lösung erst nach einigem Suchen gefunden.

Die Typoscript lib hat sich geändert von lib.contentElement zu lib.fluidContent.

Richtig heisst der Typoscript-Code also um Templates in Fluid zu überschreiben:

 

Typo3 Fluid: if Viewhelper (if – then – elseif – else)

Mit Typo3 8 wurde Fluid als Standalone Plugin weiterentwickelt und einigen Änderungen und Erweiterungen unterzogen. Da die Frage immer wieder mal auftaucht – hier eine kurze Übersicht die der if Viewhelper in Typo3 Fluid aufgebaut ist. Einmal in Typo3 7 und früher, einmal in Typo3 ab Version 8.

Fluid if Viewhelper in Typo3 7 und früher

Hier gab es das elseif-Konstrukt noch nicht, und man musste die if-Conditions in der Regel verschachteln:

Eine Ausnahme gab es, um ohne die if-Verschachtelung auszukommen – man konnte via Arrays die logische UND-Verknüpfung (&&) wie folgt nachbauen, und sich somit das Verschachteln der if-Anweisungen sparen:

 

Fluid if-Viewhelper in Typo3 8 und höher

Möglich ist auch, diese Abfragen mit logischen UND bzw. ODER in kürzerer Schreibweise zu schreiben:

Weitere Beispiele:

Ist wahr, wenn eine der beiden Variablen gesetzt ist.

 

Inline Schreibweise von if-Conditions:

If – Abfragen können auch inline geschrieben werden. Das ist z.B. sinnvoll, wenn in Fluid-Templates je nach gesetzten Variablen oder bei bestimmten Varialben-Werten bestimmte CSS-Klassen ausgegeben werden sollen.

 

Beispielsweise wenn im Backend bei Inhaltselementen im Reiter „Erscheinungsbild“ bestimmte Layouts, Frames oder Abstände ausgewählt werden.

Hier die generelle Schreibweise:

 

Bootstrap 3 Spaltenelemente in Typo3

Ich setze bei meinen Projekten ganz gerne auf die Lösung von  Stefan Schäfer / merec.org, um Spaltenelemente basierend auf Bootstrap 3 Klassen zu realisieren.

Aufgrund der Anforderung, dass die Redakteure das Aussehen der Inhalte, im speziellen Fall auch der Bootstrap Spalten, anpassen sollen, habe ich das Typoscript Setup von Stefan noch etwas erweitert bzw. geändert.

Die prinzipielle Struktur die ich gerne wollte war:

Folgende Dinge soll der Redakteur beeinflussen können:

  • Ob die Zeile 100% der Seitenbreite einnimmt oder die vordefinierte Inhaltsbreite (aus dem Reiter „Erscheinungsbild“ -> Frame)
  • Abstand davor und Abstand danach (aus dem Reiter „Erscheinungsbild“ -> Space Before / Space After)
  • Hintergrundfarbe der Zeile (aus dem Reiter „Erscheinungsbild“ -> Layout)

 

Ich habe also beim Typoscript Code von Stefan folgendes ergänzt (heller hinterlegte Zeilen):

 

Umstellung einer Domain auf SSL / https in Typo3

Die Umstellung einer Domain auf SSL (also von http:// auf https:// ) ist normalerweise kein großes Problem. Ein paar Dinge gibt es doch zu beachten.

Gerade in einer Multi-Domain Installation von Typo3 müssen ein paar Dinge beachtet werden. Einige der Tipps, die man im Web so findet passen da nicht. Zum Beispiel werden oft .htaccess Snippets genannt die alle Domains innerhalb des Typo3 zum Beispiel von http:// auf https:// weiterleiten.

Zuallerst muss das SSL-Zertifikat bestellt und eingerichtet werden – nicht vergessen, den A-Record der Domain auf die neue IP zu mappen bei den DNS-Einstellungen.

In meinem Fall habe ich aber folgendes gebraucht:

  • Weiterleitung von http://domain.com auf https://www.domain.com
  • Weiterleitung von https://domain.com auf https://www.domain.com
  • Weiterleitung von http://www.domain.com auf https://www.domain.com

Anmerkung:

Gerade die Weiterleitung von non-www auf https://www. sollte aus SEO-Gründen nicht verkettet passieren (also keine Weiterleitung von http://domain.com nach http://www.domain.com und dann nach https://www.domain.com) sondern in einem Rutsch.

Folgender Code bewerkstelligt diese Anforderungen perfekt:

 

Zusätzliche Einstellungen für Typo3:

Damit das Ganze auch richtig funktioniert, müssen in Typo auch noch ein paar Einstellungen gemacht werden:

  1. Bei den Seiteneinstellungen muss unter „Behaviour“ das Protokoll der jeweiligen Seite auf https:// umgestellt werden.

    (Leider muss das für jede einzelne Seite gemacht werden – hier hilft es, in der List Ansicht mittels Plus-Symbol den Wert „Enforce Protocol“ in die Listansicht zu holen. So kann man wenigstens alle Seiten einer Ebene in einem Rutsch abarbeiten.)Typo3 SSL https Umstellung
  2. Bei den Seiteneinstellungen kann man unter „Resources“ auf der Startseite der Domain gleich unter Page TS Config folgendes eintragen:

    Das sorgt dafür, dass neu angelegte Seiten gleich den Wert „https://“ als Protokoll bekommen.
  3. Im Typoscript Template folgendes eintragen:

    Sollten noch config.baseURL-Einträge vorhanden sein können diese mit absRefPrefix ersetzt werden (sofern Typo3 >= 6.2). Bei der Domain nun als Protokoll ebenso https:// einsetzen.

Das wars :-).

Neue Features von FLUID in Typo3 8 LTS (Typo3 8.7)

Mit FLUID kann man nun komplexe, verschachtelte und gruppierte  Abfragen durchführen, wie zum Beispiel:

Es gibt nun die Möglichkeit, bei IF-Abfragen auch elseif-Schleifen abzufragen:

Neuer ViewHelper: f:or

Damit kann man verkettete Abfragen schnell durchführen – die erste Variable die nicht leer ist wird ausgegeben:

 

 

 

 

Typo3 8 LTS – Die Neuerungen

Typo3 8 LTS

Endlich – viele von uns haben schon auf die neue LTS Version von Typo3 gewartet – nun ist sie, 18 Monate nach der Typo3 7 LTS Version, erschienen. Und sie wartet mit ein paar wirklich tollen Neuerungen auf, hier die für mich persönlich wichtigsten Neuerungen:

  • Responsive Backend:
    Es wurde weiter an dem Responsive Design im Backend gearbeitet – und man kann sagen, dass dieses nun komplett umgesetzt wurde.
  • Performance:
    Die neue Typo3 8 LTS hat als Mindestanforderung PHP Version ab 7. Das hat zur Folge, dass das Typo3 Backend nun gefühlt sehr viel schneller ist. Fluid wurde komplett ausgelagert, was zudem zu einem schnelleren Backend führt.
  • Bildbearbeitung:
    Auch hier hat man einige neue Features integriert und vorhandenes optimiert. Es ist nun möglich, das Seitenverhältnis zu definieren, ausserdem für Tablet und Smartphone-Varianten des Bildes Fokusbereiche zu definieren. Fazit: Sehr praktisch!
  • Rich Text Editor: CKEditor integriert
    Der in die Jahre gekommene Editor HTMLArea wurde von CKEditor abgelöst – CKEditor ist sehr einfach zu integrieren und konfigurieren und hat ein paar tolle Features – unter anderem einen „Frontend-Editing“ – Modus, welcher in zukünftigen Versionen von Typo3 integriert werden soll.
  • FLUID
    Auch bei der Sprache FLUID hat sich einiges getan – so hat man FLUID nun aus dem Typo3 Core entkoppelt und es gibt einige neue Features.

Eine Liste von allen Neuerungen kann man hier finden oder bei dem PDF „What’s New Slides“ (111 Seiten).

Typo3 Update via SSH und Symlinks

Meistens muss ich, wenn ich ein Typo3 Update durchführe, die SSH Befehle dazu googeln, da ich sie nicht so oft brauche und mir aus diesem Grund auch nicht vollständig merke. Zeit, diese SSH Befehle hier niederzuschreiben :-).

Wie oft hab ich schon TYPO3 Updates gemacht und schaue jedes mal wieder die Befehle auf der Kommandozeile nach? Daher publiziere ich hier nichts Neues, aber Sinnvolles:

Erst einmal Grundlegende Befehle:

Auflistung eines Ordnerinhaltes:
ls
ls -l – Mit Details

Ordner:
cd ordnername – Wechseln in den Ordner „ordnername“
cd ordnername/subordner/noch/einer/ – Wechseln in bestimmten Unterordner
cd .. – Eine Ebene höher
cd / bzw. cd ~ – Wechseln das Home Verzeichnis

Holen der aktuellen Typo3-Version, z.B.:
wget get.typo3.org/8.6.0

Das heruntergeladene File (tar.gz) entpacken:
tar xvfz typo3_src-8.6.0.tar.gz

Wechseln zum richtigen Verzeichnis:
cd html/

Der alte Symlink muss entfernt werden:
rm typo3_src

Neuen Symlink setzen:
ln -s typo3_src-8.6.0/ typo3_src

Möglicherweise müssen folgende Symlinks ebenfalls noch gesetzt werden:
(Symlinks für typo3/ , t3lib/ und index.php)

ln -s typo3_src/index.php index.php
ln -s typo3_src/typo3 typo3
ln -s typo3_src/t3lib t3lib

Ist das erledigt, muss man in das Install-Tool von Typo3 und dort den Upgrade-Wizard ausführen.

Typo3 8.5 erschienen

Ein verfrühtes Weihnachtsgeschenk, so wird es auch auf typo3.org genannt. Wir werden uns gleich die wichtigsten Neuerungen von Typo3 8.5 ansehen, einiges davon klingt vielversprechend.

So wurde endlich die Erstellung von Formularen z.B. um Kontaktformulare zu erstellen, überarbeitet. Die Funktionen wanderten von einer Extension nun zum „Form Framework“.

Es können nun einfach und schnell Formulare erstellt werden, hierzu ein kleines Video:

Eine weitere, lang erwartete Änderung ist die Erneuerung des Rich-Text-Editors (RTE). Dieser basiert standardmäßig seit einiger Zeit auf HTML-Area-RTE. Nun hat man endlich eine Basis-Version des ziemlich soliden CKEditor in Typo3 8.5 integriert.

CKEditor in Typo3 8.5
CKEditor in Typo3 8.5

In den nächsten Versionen wird diese Integration immer weiter fortgeführt.

Weitere Änderungen im Changelog.

 

 

Typo3 Fluid: Debugging

Debug von bestimmten Variablen oder allen Variablen:

 

Debug bis zu einer bestimmten Tiefe der Variable:

 

Um die Debug-Informationen nicht über der Webseite, sondern inline an der Stelle wo er vorkommt anzuzeigen kann folgender Code verwendet werden:

Canonical Tags bei News-Urls in Typo3 Multi-Domain System

Hat man in einer Typo3-Installation mehrere Domains laufen und publiziert News (via tt_news) auf mehreren Domains dann läuft man Gefahr, ein Duplicate-Content Problem bei Google zu bekommen.

Man kann mit folgendem Typoscript-Code bei der News ein Canonical Tag hinterlegen, und verweist somit auf eine „Haupt-Url“ der News: