Eine Template-Engine erweckt statische HTML-Templates zum Leben, indem es ermöglicht wird, Platzhalter mit Inhalten einer externen Datenquelle zu füllen. Die dafür notwendige Anwendungslogik übernimmt die Template-Engine (siehe: Abb.). Das klassische Templating mit TYPO3 ist von Markern und Subparts in der Designvorlage abhängig, was der Konsistenz im Template schadet. Im Gegensatz zu bekannten PHP-basierten Template-Engines (Smarty, PHPTAL, etc.), vereint Fluid folgende Eigenschaften: leicht verständliche Syntax, flexibel und einfach erweiterbar, objektorientierter Quellcode (PHP5) und strikte Trennung zwischen Layout und Steuerung (PHP-freies Template). Vgl.: [Kurfürst 2009] – t3n, H.16, Fluid – Templating leicht gemacht.
Continue Reading
TYPO3
Der erste Artikel der Reihe TCA beschäftigt sich mit den Grundprinzipien des TCA von TYPO3 und versucht Grundlagen für den erstmaligen Umgang damit zu vermitteln. Abschließend wird ein kleines Tutorial die Vorgehensweise der Erweiterung von Datenstrukturen in TYPO3 verdeutlichen. Spätere Artikel werden sich mit der Erstellung von Nutzerfunktionen (userFunc) und komplexeren Tabellenstrukturen (MM) beschäftigen.
Das Table Configuration Array (TCA) kommt als flexibles Grundgerüst des TYPO3-Backends (BE) zum Einsatz und stellt damit eine mächtige Waffe für Erweiterungen dar. Dahinter verbirgt sich ein konfiguratives Multi-Array, das die globale Verwaltung von Datenstruktur, -beziehung und -darstellung von BE-Bearbeitungsmasken erlaubt. Continue Reading
Dieser Artikel beschreibt das Prinzip von eID anhand eines Mini-Tutorials für ein Mini-Ajax-Formular zum Absenden einer Mini-Email.
CMS-Monster, wie TYPO3, rödeln beim Frontend-Rendering ziemlich viel herum, bis die Seite dargestellt wird. Manchmal bietet es sich daher an, für eine schnelle Datenabfrage kein Neuladen der Seite zu erzwingen. Hierfür steht Ajax zur Verfügung, das via JavaScript einen direkten und raschen Datenaustausch erlaubt.
Um den nativen Prozess des Frontend-Renderings zu umgehen, kommt unter TYPO3 extensionID (eID) zum Einsatz. Das Prinzip dahinter ist einfach wie genial: Der Rendering-Prozess wird frühzeitig gestoppt und an ein beliebiges Extension-Script übergeben. Die Zuweisung erfolgt mit Hilfe eines Schlüssels: Der extensionID.
Die Registrierung und Schlüssel-Zuweisung der jeweiligen Extension, findet in der localconf.php oder ext_localconf.php statt:
$TYPO3_CONF_VARS['FE']['eID_include']['script'] = 'EXT:example/script.php';
Dieser Artikel ist für Einsteiger der TYPO3-Extension Programmierung geeignet, die “noch” unter TYPO3 4.2.X arbeiten und damit auf die Plugin-Basisklasse “tslib_pibase” angewiesen sind. In der kommenden TYPO3 4.3.0 Final wird man immernoch unter dieser Basisklasse entwickeln können, jedoch wird sie in Zukunft durch die fortschrittlichere Basisextension “extbase”, über die Ich in einem späteren Artikel berichten werde, vollständig abgelöst werden.
TYPO3 ist bekannterweise in PHP geschrieben und modular aufgebaut. Grundlegende Core-Funktionen werden in Klassen der Ordner t3lib und typo3 definiert. Der TYPO3-Core basiert dabei selbst auf zahlreichen systemeigenen Extensions, die sich im Ordner typo3/sysext befinden. Die wichtigen Funktionen zum TypoScript-Rendering (bzw. Frontend-Rendering) befinden sich z.B. in der systemeigenen Extension cms im Ordner tslib.
Continue Reading
Administration einer Frontend-Zugangsbeschränkung:
Eine besondere Stärke von TYPO3 ist die leistungsfähige Benutzerverwaltung. Um eine Authentifizierung von Frontend-Benutzern zu ermöglichen, legt man auf einer beliebigen Startseite das Content-Element “Login” an. Im Reiter “Login” kann die Zielseite unter “Send to page:” eingestellt werden, die bei erfolgreicher Authentifizierung aufgerufen wird. Nun benötigt man noch einen SysFolder vom Typ “Website user”. Hat man den SysFolder erstellt, lassen sich im “List”-Modul beliebige Frontend-Benutzer anlegen, für die zusätzlich mindestens eine Gruppendefinition notwendig ist. Auf der Login-Zielseite ist es nun möglich im Reiter “Access” die entsprechende Zugangsberechtigung nach Gruppenangehörigkeit zuzuweisen. Als letztes benötigt TYPO3 noch die Information, welcher SysFolder (pid-Nummer) zur Login-Authentifizierung herangezogen werden soll. Dafür ist unter dem Modul Template->Constants folgender Eintrag notwendig:
styles.content.loginform.pid = x
Dieser Eintrag kann auch im Constant Editor unter Content: ‘Login’ gefunden und gesetzt werden.
Übrigens, sind alle im SysFolder angelegten Frontend-Benutzer als Datensätze in der TYPO3-Tabelle “fe_users” wiederzufinden. Ab Sofort sollte das Login-Formular gegen diese fe_user-Datensätze authentifizieren und bei Erfolg an die entprechende Zielseite weiterleiten.
Entwicklung eines eigenen Authentifizierungs-Service:
Continue Reading
Die offizielle TYPO3-Extension “TemplaVoilà” wurde entworfen, um das alteingesessene Templating-System in seiner Handhabung zu vereinfachen und zielt besonders auf Redakteure ohne TypoScript Kenntnisse ab. Das herkömmliche Templating aus TYPO3 ist von Markern aus der Designvorlage abhängig und beschränkt sich auf festgelegte Positionsnamen (links, mitte, rechts, rechts+) und eine begrenzte Auswahl an Inhaltselemente-Typen. Mit Hilfe von TypoScript, wird im Seitentemplate jeder benötigten HTML-Position eine der festgelegten Positionsnamen zugeteilt. Dafür sind Marker in der Designvorlage notwendig.
Continue Reading
