x

Hier könnt ihr euch über alles rund um Spiele unterhalten.

Moderatoren: Moderatoren, Redakteure

Gesperrt
Docrycy
Beiträge: 428
Registriert: 06.03.2010 00:13
Persönliche Nachricht:

x

Beitrag von Docrycy »

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Docrycy
Beiträge: 428
Registriert: 06.03.2010 00:13
Persönliche Nachricht:

Beitrag von Docrycy »

Sry leute, ich musste testen, wie viele Zeichen pro Board erlaubt / möglich sind, weil ich 3 DIN A4 Seiten Text geschrieben hab und den jetzt in Teilen posten will :fupc:
Mist, nur 71 zeichen erlaubt, so wird das nichts, bei mir sind es 7091 ohne Leerzeichen und 8283 mit Leerzeichen... so ein dreck...45 Minuten umsonst getippt. DAMNIT
Docrycy
Beiträge: 428
Registriert: 06.03.2010 00:13
Persönliche Nachricht:

Beitrag von Docrycy »

So, das war mein letztet Versuch, ich gebs auf, man kann nich mehr als 71 Zeichen posten, zumindest im 4players-Forum nicht.
Benutzeravatar
Levi 
Beiträge: 44988
Registriert: 18.03.2009 15:38
Persönliche Nachricht:

Beitrag von Levi  »

öhm doch
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50


sind schon mehr als 71 zeichen ... ich schätze mal, du hast ein Problem mit deinen Browser ...

PS: beinhaltet dein zweiter post nicht auch schon mehr als 71 zeichen? XD
forever NYAN~~ |||||||| Hihi
Bild
Benutzeravatar
JesusOfCool
Beiträge: 34685
Registriert: 27.11.2009 09:55
Persönliche Nachricht:

Beitrag von JesusOfCool »

ich glaub ich hab sogar schon einige posts mit weit mehr als 70 wörtern geschrieben. was für nen browser verwendest du denn? und wie stabil ist deine internetverbindung?
Bild
Benutzeravatar
Shenhulibu
Beiträge: 1024
Registriert: 05.01.2007 14:42
Persönliche Nachricht:

Beitrag von Shenhulibu »

Ohne jetzt genau gezählt zu haben: Ein 215 Seiten PDF Dokument
P.S.: Sorry fürs Scrollen :oops: 8O :lol:

Edit: Ok beim Abschicken wirds gekürzt. Naja das geht bei mir mit FF 3.6

[quote]Grundlagenwissen Typo3 Version 3.6.2
Deutsche Typo3-Dokumentation
Dok.-Version 2.0
© Copyright 2004, Robert Meyer, mittwaldmedien CM Services
Vervielfältigung nur mit ausdrücklicher Genehmigung.
mittwaldmedien CM Services
Königsberger Strasse 6
32339 Espelkamp
URL: http://www.typo3server.com
eMail: info@typo3server.com
www.typo3server.com - Robert Meyer Seite 2
mittwald medien
CM Services
Inhaltsverzeichnis
Vorwort........................................................................................................7
Kapitel 1: Schritte zur ersten Seite .........................................................8
1.1 Begrifflichkeiten ....................................................................................................................... 8
1.2 Erster Frontend-Aufruf ............................................................................................................. 8
1.3 Login in das Backend............................................................................................................... 9
1.3.1 Kurzer Überblick über die Backend-Module....................................................................10
1.3.2 Hinweis zum Modul Filelist / Dateiliste............................................................................13
1.3.3 Spache ändern.............................................................................................................13
1.4 Eine erste Seite anlegen .........................................................................................................14
Kapitel 2: Templates ...............................................................................16
2.1 Ein Template anlegen .............................................................................................................17
2.1.1 Create template for a new site.......................................................................................18
2.1.2 Create an extension template........................................................................................19
2.2 Info / Modify ...........................................................................................................................19
2.2.1 title ..............................................................................................................................19
2.2.2 Sitetitle........................................................................................................................20
2.2.3 Description ...................................................................................................................20
2.2.4 Resources ....................................................................................................................20
2.2.5 Constants.....................................................................................................................20
2.2.6 Setup ...........................................................................................................................20
2.3 "whole Template"-Record ........................................................................................................21
2.3.1 Template löschen / Deactivate / Start / Stop ...................................................................21
2.3.2 Clear Constants / Setup ................................................................................................21
2.3.3 Include static ................................................................................................................22
2.4 TypoScript Object Browser......................................................................................................22
2.5 Template Analyser ..................................................................................................................23
2.6 Constant Editor.......................................................................................................................23
2.7 Das Typo3 Caching-Konzept ...................................................................................................23
Kapitel 3: TypoScript Grundlagen ........................................................25
3.0 TypoScript-Syntax ..................................................................................................................25
3.0.1 Losgelöst von TypoScript ..............................................................................................25
3.0.2 Operatoren...................................................................................................................29
3.1 PAGE-Objekt.........................................................................................................................30
3.1.1 Die typeNum-Eigenschaft ..............................................................................................31
3.2 TEXT-Objekt ..........................................................................................................................33
3.3 TypoScript-Funktionen (stdWrap) ............................................................................................34
3.3.1 stdWrap .......................................................................................................................34
3.3.2 data (getText)...............................................................................................................35
3.4: COA ....................................................................................................................................36
3.5 CASE ...................................................................................................................................37
3.5.1 Die Eigenschaft key (.field) ............................................................................................38
3.5.2 Die default-Eigenschaft .................................................................................................38
3.6 FILE......................................................................................................................................39
www.typo3server.com - Robert Meyer Seite 3
mittwald medien
CM Services
3.7 TEMPLATE ............................................................................................................................40
3.7.1 marks: Platzhalter verwenden........................................................................................41
3.7.2 Designvorlagen ............................................................................................................42
3.7.3 workOnSubpart: Teilbereiche ........................................................................................43
3.8 CONTENT .............................................................................................................................45
3.8.1 Vorbereitung: Seiteninhalt anlegen ................................................................................45
3.8.2 Objekt CONTENT verwenden........................................................................................47
3.8.2.1 tt_content ..........................................................................................................48
3.8.2.2 select : sortieren.................................................................................................52
3.8.2.3 select : Spalten ..................................................................................................53
3.9 IMAGE ..................................................................................................................................54
3.10 GIFBUILDER.......................................................................................................................55
3.10.1 Mit Ebenen arbeiten ....................................................................................................56
3.10.2 offset : Positionieren ...................................................................................................57
3.10.3 Grafischer Text...........................................................................................................58
3.11.4 Ein einfacher Schatten ................................................................................................59
3.10.5 Mehr Dynamik ............................................................................................................60
3.11 HMENU ...............................................................................................................................61
3.11.1 Einführung..................................................................................................................61
3.11.2 Vier unterschiedliche Menüarten ..................................................................................61
3.11.3 Fünf+ Zustände von Menüelementen ...........................................................................62
3.11.4 Vorbereitung: Seiten anlegen ......................................................................................63
3.11.5 special – was für ein Menü? ........................................................................................64
3.11.6 special : directory ........................................................................................................64
3.12 TMENU...............................................................................................................................66
3.13 GMENU ...............................................................................................................................67
3.13.1 Zustände einsetzen.....................................................................................................68
3.13.2 Option Split: Elemente differenzieren ...........................................................................69
Kapitel 4: TypoScript Praxis ..................................................................71
4.0 Vorwort .................................................................................................................................71
4.1 Geliefertes Design: Struktur Anlegen .......................................................................................72
4.1.1 Die geeignete Navigationsstruktur .................................................................................72
4.1.2 Aufbau der Struktur im Frontend ....................................................................................73
4.1.3 Hilfsseiten nicht zugänglich machen...............................................................................75
4.1.5 Wo befindet sich unsere Homepage?.............................................................................77
4.2 Eine Designvorlage erstellen ...................................................................................................78
4.2.1 Präzise HTML-Ausarbeitung..........................................................................................78
4.2.2 Grafiken & Designvorlagen............................................................................................79
4.2.3 Substituieren von dynamischen Elementen ....................................................................79
4.3 Umsetzung mit TypoScript ......................................................................................................83
4.3.1 Das Projekttemplate erstellen........................................................................................83
4.3.2 Seiteneigenschaften festlegen .......................................................................................85
4.3.3 Dateien mittels Dateimanager zur Verfügung stellen .......................................................87
4.3.4 Die Designvorlage einbinden .........................................................................................88
4.3.5 Die Platzhalter ansprechen: Fehleranalyse.....................................................................91
4.3.7 Den Trailer erzeugen ....................................................................................................93
4.3.7.1 Text auf den Trailer rendern................................................................................95
4.3.7.2 Den Text dynamisch darstellen ...........................................................................96
4.3.7.3 Eine weitere Text-Ebene hinzufügen ...................................................................98
www.typo3server.com - Robert Meyer Seite 4
mittwald medien
CM Services
4.3.8 TMENU: Menü oben erstellen......................................................................................100
4.3.9 GMENU: Das linke Menü erstellen...............................................................................107
4.3.10 Eine zweite Menüebene und weitere Zustände hinzufügen ..........................................115
4.3.11 CONTENT: Inhalte ausgeben [mit content(default)] .....................................................124
4.3.11.1 Vorbereitung: Statisches Template inkludieren.................................................124
4.3.11.2 Analyse: content (default) unter die Lupe genommen .......................................125
4.3.11.3 Vorbereitung: Einen Seiteninhalt anlegen.........................................................129
4.3.11.4 Objekt CONTENT verwenden .........................................................................130
4.3.11.5 Fehleranalyse: Es werden keine Inhalte dargestellt ..........................................130
4.3.11.6 Darstellung anpassen, Überschrift ...................................................................131
4.3.11.7 Darstellung anpassen: Bodytext ......................................................................134
4.3.12 Rechte Spalte: Inhalte darstellen ...............................................................................136
4.3.12.1 Die Spalten: colPos ........................................................................................136
Kapitel 5: Module und eigene Erweiterungen ...................................137
5.0 Einführung ...........................................................................................................................137
5.1 Der Typo3 Erweiterungsmanager ..........................................................................................138
5.1.1 Shy Extensions...........................................................................................................138
5.1.2 Die Auswahlbox "Menü" im Erweiterungsmanager........................................................139
5.1.3 Die Spalten im Erweiterungsmanager ..........................................................................140
5.1.4 Detailinfos zu den Modulen .........................................................................................141
5.1.5 Verfügbare Module installieren ....................................................................................142
5.1.6 Module von der Extension Repository herunterladen.....................................................142
5.2 Generelles zur Updatefähigkeit..............................................................................................144
5.3 Bestehende Frontend-Module integrieren und anpassen .........................................................145
5.3.1 Das News -Modul ........................................................................................................145
5.3.1.1 Das klassische Newsmodul installieren..............................................................145
5.3.1.2 Frontend-Plugin: Seiteninhalt / Container anlegen..............................................146
5.3.1.3 Mögliche Codes des News-Moduls....................................................................149
5.3.1.4 Newsbeiträge erstellen .....................................................................................149
5.3.1.5 Frontend-Plugin: Elemente & Container .............................................................150
5.3.1.6 Das News-Modul unter die Lupe genommen......................................................151
5.3.1.7 Kapselung Funktionalität, Konfiguration und Design ...........................................154
5.3.1.8 Das News-Modul konfigurieren .........................................................................155
5.3.1.9 Die Designvorlage anpassen ............................................................................158
5.3.1.10 Statische Darstellung von News ......................................................................158
Kapitel 6: Diverses ................................................................................159
6.1 Anpassungen mittels Conditions ............................................................................................159
6.2 Mehrsprachige Webseiten .....................................................................................................160
6.2.1 Seitensprachen, Seiten und Inhalte übersetzen ............................................................160
6.2.2 TypoScript und Mehrsprachigkeit.................................................................................162
6.3 Druckerfreundliche Version ...................................................................................................164
6.3.1 Zusätzliche Parameter mitreichen (Sprache) ................................................................166
6.3.2 Besondere Darstellung von tt_content ..........................................................................166
6.4 Suchmaschinenfreundliche URLs ..........................................................................................167
6.4.1 Den Webserver vorbereiten .........................................................................................167
6.4.2 Mit Alias-Namen arbeiten ............................................................................................168
6.5 Benutzerrechte Backend-Redakteure.....................................................................................169
www.typo3server.com - Robert Meyer Seite 5
mittwald medien
CM Services
6.5.1 Benutzergruppen........................................................................................................169
6.5.2 Benutzer anlegen (User) .............................................................................................171
6.5.3 Zugriffsrechte setzen ..................................................................................................172
6.6 Statistiken mit AWStats.........................................................................................................172
Kapitel 8: TypoScript Kurzreferenz.....................................................174
8.1 Datentypen..........................................................................................................................174
8.2 Objektgruppen.....................................................................................................................176
8.3 Funktionen / stdWrap ............................................................................................................176
8.3.1 Daten auslesen ..........................................................................................................176
8.3.2 data (getText).............................................................................................................177
8.3.3 Bedingungen ..............................................................................................................178
8.3.4 Parse-Funktionen .......................................................................................................179
8.3.5 Datums- und Zeitfunktionen.........................................................................................180
8.3.6 EditPanel ...................................................................................................................180
8.3.7 Debugging .................................................................................................................180
8.3.8 imgResource..............................................................................................................181
8.3.9 imageLinkWrap ..........................................................................................................182
8.3.10 numRows .................................................................................................................183
8.3.11 select .......................................................................................................................183
8.3.12 split..........................................................................................................................183
8.3.13 if ..............................................................................................................................184
8.3.14 encapsLines .............................................................................................................185
8.3.15 parseFunc ................................................................................................................186
8.4 Objekt-Referenz ...................................................................................................................187
8.4.1 PAGE ........................................................................................................................187
8.4.2 TEXT .........................................................................................................................188
8.4.3 COA ..........................................................................................................................188
8.4.4 CASE ........................................................................................................................189
8.4.5 FILE ..........................................................................................................................189
8.4.6 TEMPLATE ................................................................................................................190
8.4.7 CONTENT .................................................................................................................191
8.4.8 IMAGE .......................................................................................................................191
8.4.9 GIFBUILDER..............................................................................................................192
8.4.10 HMENU ...................................................................................................................193
8.4.11 TMENU / TMENU_ITEM ...........................................................................................194
8.4.12 GMENU / GMENU_ITEM ..........................................................................................195
8.4.13 EDITPANEL .............................................................................................................196
8.4.14 FORM ......................................................................................................................197
8.4.15 USER / USER_INT...................................................................................................198
8.4.16 PHP_SCRIPT / PHP_SCRIPT_INT............................................................................198
8.5 Frames ...............................................................................................................................199
8.5.1 FRAME ......................................................................................................................199
8.5.2 FRAMESET ...............................................................................................................199
8.5.3 Beispiel-Framedefinition ..............................................................................................199
8.6 OptionSplit ...........................................................................................................................200
8.7 Conditions ............................................................................................................................201
8.7.1 Browser .....................................................................................................................201
8.7.2 Browser-Version .........................................................................................................201
8.7.3 Betriebssystem...........................................................................................................202
www.typo3server.com - Robert Meyer Seite 6
mittwald medien
CM Services
8.7.4 Devices ......................................................................................................................202
8.7.5 Sprache .....................................................................................................................202
8.7.6 IP-Adressen ...............................................................................................................202
8.7.7 Stunde.......................................................................................................................202
8.7.8 Minute........................................................................................................................203
8.7.9 Wochentag.................................................................................................................203
8.7.10 Tag des Monats........................................................................................................203
8.7.11 Monat ......................................................................................................................203
8.7.12 Benutzergruppe (FE).................................................................................................203
8.7.13 Eingeloggter Benutzer (FE) .......................................................................................203
8.7.14 treeLevel ..................................................................................................................204
8.7.15 PIDInRootline ...........................................................................................................204
8.7.16 PIDupinRootline........................................................................................................204
8.7.17 GlobalVar / GlobalString............................................................................................204
8.7.18 userFunc ..................................................................................................................204
8.8 Primäre Objekte ...................................................................................................................205
8.8.1 PAGE ........................................................................................................................205
8.8.2 CONFIG.....................................................................................................................205
8.8.3 FE_DATA / FE_TABLE ...............................................................................................209
8.9 TSConfig : Benutzer..............................................................................................................210
8.9.1 admPanel...................................................................................................................210
8.9.2 options .......................................................................................................................210
8.9.3 setup .........................................................................................................................212
8.10 TSConfig : Page .................................................................................................................213
8.10.1 mod .........................................................................................................................213
Anhang....................................................................................................215
www.typo3server.com - Robert Meyer Seite 7
mittwald medien
CM Services
Vorwort
Diese Dokumentation ist eine komplette Neuauflage der zweiten Dokumentation (Typo3 –
die deutsche Dokumentation mit Referenz). Die durchweg positive Resonanz auf diese
beiden Vorgängerversionen haben mich darin bestärkt, dieses Konzept erneut
beizubehalten. Die Erfahrungen, die ich aufgrund über zweijähriger Erfahrung mit Typo3-
Schulungen sammeln durften, sind in diese Dokumentation eingeflossen.
Die Deutsche Typo3-Dokumentation soll in erster Linie Grundlagenwissen vermitteln. Auf
Modulkonfigurationen wurde beispielsweise nur bedingt eingegangen – statt dessen wird das
Grundprinzip von Modulen im Allgemeinen am Beispiel des News-Moduls aufgezeigt.
Auf Anregungen, Kritik und Lob zur Deutschen Typo3-Dokumentation freue ich mich unter
der eMail-Adresse dokumentationen@typo3server.com.
Ich wünsche Ihnen viel Spaß beim Erlernen von Typo3.
Ihr Robert Meyer
www.typo3server.com - Robert Meyer Seite 8
mittwald medien
CM Services
Kapitel 1: Schritte zur ersten Seite
1.1 Begrifflichkeiten
Da Typo3 überwiegend in Dänemark entwickelt wird und die gesamte Dokumentation
überwiegend in der englischer Sprache verfügbar ist, versuchen wir hier, einige deutsche
Begriffe einzuführen.
Bei Content Management Systemen spricht man generell von zwei Bereichen: Dem
Frontend und dem Backend. Das Frontend (FE) stellt im Prinzip die reguläre
Internetpräsentation dar (Website), während im Backend (BE) die Präsentation selbst erstellt
und gepflegt wird. Die Begriffe Frontend und Backend mit seinen Abkürzungen FE sowie BE
sollten Sie sich merken, da diese beim Verständnis von einigen Variablen und Funktionen
eine wichtige Rolle spielen.
Die englischen Dokumentationen sprechen mehrdeutig von Templates. Templates können
sowohl HTML-Designvorlagen als auch TypoScript-Templates sein. Dies mag zur Einführung
verwirrend klingen. Wichtig ist jedoch, das Designvorlagen aus regulären HTML-Seiten
bestehen, während TypoScript-Templates eben aus TypoScript, der eigenen Scriptsprache,
bestehen. Um diese Mehrdeutigkeit zu umgehen, werden in diesem Buch die Begriffe
Designvorlagen für HTML-Templates sowie Templates für TypoScript-Templates verwendet.
1.2 Erster Frontend-Aufruf
Vorausgesetzt Typo3 ist korrekt und einwandfrei installiert, erhalten wir beim einfachen
Aufruf unserer Internetpräsentation bei einem „leeren und sauberen“ Typo3 folgende
Fehlermeldung:
Diese Meldung ist weder kritisch noch eine wirkliche Fehlermeldung. Sie sagt aus, das noch
keine Seiten angezeigt werden können.
www.typo3server.com - Robert Meyer Seite 9
mittwald medien
CM Services
1.3 Login in das Backend
Zum Anlegen neuer Seiten (unserer ersten Seite), müssen wir im Backend eingeloggt sein.
Wir hängen nun an die URL im Browser, normalerweise unsere Domain, ein /typo3 an, so
z.B. www.meinedomain.de/typo3, und erhalten eine Login-Seite, die in etwa wie folgt
aussieht:
Hinweis zum Ordner /typo3: Der Ordner /typo3 läßt sich nicht umbenennen. Bis zur
Version 3.3.0 war dieses noch durch einige Anpassungen im Quelltext möglich. Seit
der Version 3.5.0 verweisen allerdings sehr viele Module auf diesen Ordner.
Änderungen am Ordnernamen /typo3 würden somit sehr viele Änderungen im
Quelltext erforderlich machen – Neue Module, die nicht ordnungsgemäß
("pragmatisch") entwickelt wurden, müssten zudem permanent angepasst werden.
Eine Updatefähigkeit ist unter keinen Umständen mehr gewährleistet. Der Ordner
/typo3 selbst stellt kein Sicherheitsrisiko dar. Möchten Sie die Sicherheit erhöhen,
können Sie dieses z.B. mittels einer .htaccess-Datei erreichen.
www.typo3server.com - Robert Meyer Seite 10
mittwald medien
CM Services
Hinweis zum Login: Zum erfolgreichen Login in das Backend ist es erforderlich,
dass Cookies auf dem jeweiligen Client aktiviert sind. Ebenfalls können private
Firewalls den Login-Vorgang verhindern, da diese, je nach Konfiguration, den
„Referer“ nicht mit übergeben. Sollten Sie eine Nachricht der Art erhalten, dass Sie im
Installtool einen „doNoCheckReferer“-Flag setzen sollen, loggen Sie sich in das
Install-Tool ein. Unter "All Configuration" können Sie diesen "Flag" setzen.
Es kann durchaus der Fall sein, dass es noch eine dritte Zeile gibt, in der man das Interface
auswählen kann (Front End, Backend (Alternative), Classic).
1.3.1 Kurzer Überblick über die Backend-Module
Nach erfolgtem Login als Administrator gelangen Sie in das „Alternative Backend“.
Bis einschließlich der Version 3.5.0 wurde obiges Backend als das "alternative"
Backend bezeichnet. Seit der Version 3.6.0 ist die offizielle Bezeichnung nur noch
"Backend".
www.typo3server.com - Robert Meyer Seite 11
mittwald medien
CM Services
Im Folgenden werden die einzelnen Backend-Modulbereiche vorgestellt:
Modul Englisch Deutsch Beschreibung
Web Unter dem Web-Modul wird
redaktionelle gearbeitet. Ein
Seitenbaum wird dargestellt.
Page Seite Hier findet der strukturelle Aufbau
sowie die Pflege der Internetseiten
statt. Administratoren legen die
Struktur fest, Redakteure können
Inhalte bearbeiten.
View Anzeigen Zeigt die Präsentation an. Zu
vernachlässigen.
List Liste Hier werden sämtliche Datensätze
installierter Module angezeigt, die sich
auf einer bestimmten Seite befinden.
Ähnlich wie „Seite“, jedoch im Listing-
Format.
Info Info Zu vernachlässigen.
Access Zugriff Einzelne Seiten können mit
Zugriffsrechten (Besitzer, Gruppe,
Alle: Lesen, Schreiben, Löschen)
versehen werden. Wichtiges Modul,
wenn mit Redakteuren gearbeitet
werden soll.
Functions Funktionen Nützliche Tools wie z.B. das Anlegen
von bis zu 10 Unterseiten auf einmal.
Template Template Der wohl wichtigste Bereich: Hier wird
mit TypoScript gearbeitet. Zusätzlich
stehen Tools wie z.B. der Objekt-
Browser zur Verfügung.
File / Datei
Filelist Dateiliste Ein kleines online-„FTP-Programm“
mit beschränkten Möglichkeiten. Für
einfache Uploads bzw. Änderungen
jedoch gut geeignet. Bitte beachten
Sie den Hinweis „Dateiliste“.
Images Bilder Wie „Dateiliste“, jedoch werden hier
nur Grafikdateien angezeigt. Zu
vernachlässigen.
www.typo3server.com - Robert Meyer Seite 12
mittwald medien
CM Services
User / Benutzer
Task Center Aufgaben Unter „Aufgaben“ kann ein Benutzer
sich selbst oder anderen Benutzern
Aufgaben zuordnen. Insb. für die
integrierte Workflow-Engine von
Bedeutung. Oftmals vernachlässigbar.
Setup Einst. Hier kann ein Benutzer seine
Backend-Sprache einstellen sowie
sein eigenes Passwort neu setzen.
Weitere Einstellungen gelten
insbesondere der Darstellung des
Backends.
Tools
User Admin Benutzer
Administrator
Bei der intensiven Arbeit mit
unterschiedlichen Benutzern
(Redakteuren) und unterschiedlichen
Rechten ist das Modul „Benutzer
Administrator“ eine gute Möglichkeit,
Übersicht zu behalten. Bei der Arbeit
mit wenigen Redakteuren ist dieses
Modul zu vernachlässigen.
Ext Manager Erw.-
Manager
Im Erweiterungsmanager (oder
Extension-Manager) können
Erweiterungen wie z.B. das News-
Modul hinzugefügt und installiert
werden. Ebenfalls steht hier die
Extension-Repository zur Verfügung.
Auch können eigene Module mittels
des Kickstarter-Moduls schnell
eingerichtet werden.
DB check DB
Überprüfung
Übersicht über „interne Details“ des
Systems. Zu vernachlässigen.
Configuration Konfiguration Hier kann Einblick in einige Typo3-
internen Arrays genommen werden.
Nur bei intensiver Modulentwicklung
interessant, daher vernachlässigbar.
Install Installation Das Typo3-Install-Tool mit der Basis-
Konfiguration.
Log Log Sämtliche Logins und Datensatzänderungen
werden hier festgehalten.
Bei Änderungen können diese oftmals
rückgängig gemacht werden.
phpMyAdmin phpMyAdmin Klassisches Datenbank-Tool. Oft
hilfreich, um Feldnamen einer Tabelle
ausfindig zu machen.
www.typo3server.com - Robert Meyer Seite 13
mittwald medien
CM Services
1.3.2 Hinweis zum Modul Filelist / Dateiliste
Mit diesem kleinen "FTP-Programm" können Dateien hochgeladen, modifiziert und gelöscht
werden. Jedoch kann es hierbei oftmals zu Problemen mit Dateirechten kommen, da
ebenfalls oftmals die Möglichkeit besteht, Dateien per FTP zu übertragen. Wird zum Beispiel
eine Datei mittels FTP übertragen, gehört diese Datei in der Regel dem FTP-Benutzer. Wird
eine Datei jedoch über das Backend hochgeladen, gehört diese Datei dem Benutzer
„Apache“. Hierdurch können unangenehme Effekte auftreten, die die Arbeit mit Dateien und
Ordnern erschweren.
Gewöhnen Sie sich deshalb möglichst an, entweder mit FTP oder mit der Dateiliste zu
arbeiten. Bei auf Typo3 spezialisierten Providern wie mittwaldmedien CM Services treten
diese Probleme nicht auf.
1.3.3 Spache ändern
Die erste Aktion, die wir in der Regel bei einem englischsprachigem Backend tätigen, ist die
Sprache auf „Deutsch“ zu ändern. Nach erfolgreichem Login wählen wir hierzu auf der linken
Seite aus dem Bereich „User“ den Menüpunkt „Settings“ aus. Auf der rechten Seite erhalten
Sie im oberen Bereich eine Auswahlbox „Language“. Ändern Sie hier die Sprache von
„English“ auf „German“ ab und speichern Sie Ihre Einstellungen, indem Sie ganz unten auf
den Button „Save Configuration“ klicken.
Die rechte Seite wird ab sofort in der deutschen Sprache angezeigt - das linke Menü jedoch
nach wie vor in der englischen Sprache. Grund hierfür ist, dass das Backend mit Frames
arbeitet und einmal aktualisiert werden muss.
www.typo3server.com - Robert Meyer Seite 14
mittwald medien
CM Services
Normalerweise reicht es hier aus, wenn wir nur den linken Frame aktualisieren (z.B. durch
Rechtsklick mit der Maus und „Aktualisieren“ auswählen). Jedoch sollten Sie sich gleich
angewöhnen, bei solchen Veränderungen das gesamte Backend bzw. das gesamte
Frameset neu zu laden. Klicken Sie daher in Ihrem Browser auf das Icon „Aktualisieren“ bzw.
Loggen Sie sich einmal aus und wieder ein..
1.4 Eine erste Seite anlegen
Um eine erste Seite mit Typo3 anzulegen, klicken Sie im Menü links auf den Menüpunkt
„Seite“. Es öffnet sich in der Mitte der Seitenbaum, der derzeit nur aus dem Rootlevel (Icon
Weltkugel) besteht. Auf der rechten Seite öffnet sich nur ein kleiner Hinweis.
Im Seitenbaum gibt es drei Klick-Möglichkeiten: Mit dem + und dem – lässt sich der
Seitenbaum öffnen bzw. schließen, um Unterseiten anzuzeigen. Ein Klick auf das Icon öffnet
ein kleines Fenster mit weiteren Aktionsmöglichkeiten. Zum Anzeigen des Inhaltes kann auf
den Textlink geklickt werden. Um eine neue (erste) Seite anzulegen, klicken wir auf das Icon
der Rootebene (Weltkugel) und wählen aus dem Popup-Menü „Neu“ aus.
Auf der rechten Seite sehen Sie nun diverse Möglichkeiten, „etwas neues" anzulegen. Um
eine neue Seite anzulegen, klicken wir auf den Textlink „Seite“ (oberster Eintrag).
www.typo3server.com - Robert Meyer Seite 15
mittwald medien
CM Services
Es öffnet sich rechts eine Maske, in der diverse Felder ausgefüllt werden können.
Pflichtfelder werden mit einem Ausrufungszeichen links neben dem Feld gekennzeichnet.
Ein solches Pflichtfeld ist hier z.B. der Seitentitel. Der Seitentitel wird unter Anderem als
Bezeichner für den Seitenbaum benötigt, aber auch für den HTML-Title-Tag im Frontend,
wenn die Seite aufgerufen wird.
Einige Felder stehen optisch allerdings erst im Vordergrund, wenn die zweite Optionspalette
aktiviert wird. Diese Einstellung können Sie aktivieren, in dem Sie bei dem Eintrag „Zweite
Optionspalette anzeigen“ im unteren Teil der Seite ein Häkchen setzen.
Wir benennen unsere erste erzeugte Seite „Test“ (Angabe im Seitentitel) und speichern
diese Seite ab, in dem wir das das Symbol „Speichern und Schließen“ klicken (zweites Icon
oben).
Wir haben nun also unsere erste Seite ohne Seiteninhalt angelegt. Dies ist die mindeste
Voraussetzung, um ein Template (TypoScript) erzeugen zu können. Templates „sagen“
Typo3, wie es was zu machen hat. Die nachfolgenden Kapitel beschäftigen sich
überwiegend mit Templates und TypoScript.
www.typo3server.com - Robert Meyer Seite 16
mittwald medien
CM Services
Kapitel 2: Templates
Templates teilen Typo3 mit, wie Typo3 was zu machen hat. Ohne einem Template auf einer
Seite oder auf einer übergeordneten Seite weiß Typo3 nicht, dass es überhaupt etwas im
Frontend darstellen soll.
Im Kapitel 1 haben wir bereits eine Seite angelegt. Ohne einer angelegten Seite erhalten wir
im Frontend die Meldung „Error: No pages are found on the rootlevel“.
Templates werden immer auf Seiten angelegt und gelten für diese Seite als auch für alle
untergeordneten Seiten (Template-Vererbung).
Wurde bereits eine Seite angelegt (im Kapitel 1 haben wir bereits eine Seite „Test“ angelegt),
erhalten wir eine andere Fehlermeldung:
Auf der angelegten Seite kann Typo3 kein Template finden.
www.typo3server.com - Robert Meyer Seite 17
mittwald medien
CM Services
Grunsätzliches zu Templates:
· Ein Template ist ein Datensatz, der auf einer Seite liegt.
· Auf einer Seite können auch mehrere Templates liegen.
· Sämtliche Einstellungen als auch der TypoScript-Code selber werden in der
Datenbank gespeichert.
2.1 Ein Template anlegen
Ein Template kann nur auf einer bestehenden Seite angelegt werden. Um ein Template
anzulegen, gibt es mehrere Möglichkeiten. Eine Möglichkeit soll hier dargestellt werden:
Wir klicken im linken Menü auf "Template" und wählen in der Baumdarstellung unsere
angelegte Seite (aus Kapitel 1) aus, indem wir auf den Textlink "test" klicken:
Wir erhalten den Hinweis, dass auf der aktuellen Seite "test" noch kein Template angelegt
wurde ("no template").
www.typo3server.com - Robert Meyer Seite 18
mittwald medien
CM Services
Wir haben nun auf unserer Template-Seite folgende Möglichkeiten:
· Wir können die Auswahlbox leer lassen und auf den Button "Create template for a
new site" klicken.
· Wir können aus der Auswahlbox einen Eintrag auswählen und dann auf den Button
klicken.
· Wir können über den Textlink "Click here to create an extension template" ein
Template anlegen.
Damit wir ein Template anlegen können, lassen wir die Auswahlbox leer und klicken auf den
Button "Create template for a new site". Im rechten Frame erscheint folgende Seite:
2.1.1 Create template for a new site
Ein Klick auf den Button "Create template for a new site" legt ein Template an. Templates
werden grundsätzlich immer "nach unten hin" vererbt: Das auf der Seite "test" angelegte
Template gilt somit auch für Unterseiten der Seite "test".
Wenn wir über den Button ein neues Template anlegen, wird eine Vererbung "von oben"
unterbrochen und es kann auf dieser Seite ein neues Projekt begonnen werden.
Aus der Auswahlbox kann ein vorgefertigtes Template ausgewählt werden. Hierunter
verbergen sich unterschiedliche Designs und TypoScript-Definitionen, die angepasst werden
können. Die Anpassung erfolgt mittels dem "Constant Editor" oder direkt über TypoScript.
In der Regel sollen Internet-Projekte ein individuelles Layout erhalten. Es ist daher
nicht ratsam, auf diese vorgefertigten Designs zurückzugreifen. Auf eine nähere
Erläuterung zur Arbeitsweise mit diesen vorgefertigten Designs wird daher verzichtet.
Wählen Sie aus der Auswahlbox keinen Eintrag aus, so wird ein neues, leeres Template
erstellt. Ein auf diese Art erstelltes Template wird auch als "Projekttemplate" bezeichnet.
www.typo3server.com - Robert Meyer Seite 19
mittwald medien
CM Services
2.1.2 Create an extension template
Extension-Templates bieten die Möglichkeit, vererbte Eigenschaften, Objekte, Variablen etc.
zu überschreiben. Ein Template wird immer "nach unten hin" vererbt – mit einem Extension-
Template wird diese Vererbung nicht unterbrochen, es können jedoch einzelne Ausnahmen
definiert werden, die ebenfalls wieder "nach unten hin" vererbt werden.
Extension-Templates sollten dann angewendet werden, wenn ein Projekttemplate existiert
(siehe 2.1.1), es also eine generelle Definition der Internetseite gibt, die aber ab einer
bestimmten Seite anders sein soll.
2.2 Info / Modify
Rechts oben sehen wir eine Auswahlbox, die mehrere Elemente besitzt. Eines dieser
Elemente ist auch "Info / Modify", mit dem wir überwiegend arbeiten werden. "Info / Modify"
bietet unter Anderem die Möglichkeit, direkt mittels TypoScript die Präsentation zu
beschreiben.
Wenn "Info / Modify" ausgewählt wird, steht ein "Kasten" mit mehreren Feldern zur
Verfügung:
2.2.1 title
Im Feld "title" kann ein Titel für das aktuelle Template angegeben werden. Dieser Titel ist
lediglich für interne Zwecke bestimmt und hat keinen Einfluss auf das Frontend.
Ein Template-Titel anzugeben findet insbesondere dann Anwendung, wenn auf einer Seite
mehrere Templates vorhanden sind. Das Anlegen von mehreren Templates auf einer Seite
ermöglicht, TypoScript-Code nach Themengruppen aufzuteilen - statt mit einem großen
Template wird mit mehreren kleinen Templates gearbeitet. Zwecks Übersichtlichkeit sollte
bei mehreren Templates auf einer Seite ein Template-Titel angegeben werden.
www.typo3server.com - Robert Meyer Seite 20
mittwald medien
CM Services
2.2.2 Sitetitle
Im Feld "Sitetitle" kann der Prefix für einen Seitentitel angegeben werden.
Wenn eine Seite im Frotend betrachtet wird, wird in der Regel nur der Titel der aktuellen
Seite als HTML-Title-Tag aufgenommen. Soll z.B. der Firmenname immer mit erscheinen, so
kann dieser Firmenname im Feld "Sitetitle" angegeben werden. Der erzeugte HTML-title-Tag
wäre dann "Sitetitle:title", also z.B. "Mustermann AG : Homepage".
2.2.3 Description
Unter "Description" können Sie eine Beschreibung des Templates ablegen. Dieses Feld ist
lediglich für Ihre Übersichtlichkeit bestimmt und hat keine Auswirkungen auf das Frontend.
2.2.4 Resources
Unter "Resources" können Sie Dateien in das Template einbinden. Möchten Sie z.B. mit
einer bestimmten Schriftart "verdana.ttf" arbeiten, dann können Sie, sofern Sie diese Datei
unter "Resources" zur Verfügung stellen, direkt mit TypoScript auf diese Datei zugreifen,
ohne einen Pfad angeben zu müssen, wo sich die Datei befindet.
2.2.5 Constants
Unter "Constants" können Variablen definiert werden, die in TypoScript als Constanten
ausgelesen werden können. "Constants" enthält kein TypoScript!
2.2.6 Setup
Im Feld "Setup" wird TypoScript-Code verwendet.
www.typo3server.com - Robert Meyer Seite 21
mittwald medien
CM Services
2.3 "whole Template"-Record
Wir finden z.B. unter "Info / Modify" einen Textlink "Click here to edit whole template record".
Hier kann in das gesamte Template eingegriffen werden. Es stehen die Felder aus dem
Kapitel 2.2 zur Verfügung als auch noch einige weitere, wie z.B. "Include Static".
2.3.1 Template löschen / Deactivate / Start / Stop
Im oberen Abschnitt können wir beispielsweise das Template wieder löschen, in dem wir auf
den "Mülleimer" klicken. Das Template wird dann in der Datenbank mit einem deleted-Flag
versehen und steht in Typo3 nicht mir zur Verfügung.
Soll ein Template nur vorübergehend deaktiviert werden, ist hierfür das Feld "Deactivated"
sinnvoll. Das Template wird dann im Frontend nicht mehr berücksichtigt, im Backend
hingegen steht das Template noch zur Verfügung und kann zu jeder Zeit wieder aktiviert
werden.
2.3.2 Clear Constants / Setup
Mit den Flags "Clear Constants" / "Clear Setup" kann die Vererbung unterbrochen bzw.
erlaubt werden. Ist "Clear Setup" beispielsweise aktiviert, wird von einem übergeordnetem
Template (einer anderen übergeordneten Seite) das Feld "Setup" (TypoScript) nicht mehr
vererbt.
www.typo3server.com - Robert Meyer Seite 22
mittwald medien
CM Services
2.3.3 Include static
Im Feld "Include static" können sogenannte "statische Templates" inkludiert werden. In der
rechten Box sehen Sie alle verfügbaren statischen Templates, in der linken Box alle
eingebundenen Templates. Falls auf der rechten Seite keine Templates zur Verfügung
stehen, können Sie im Install-Tool unter "Database-Analyser" -> "Import" diese statischen
Templates zur Verfügung stellen.
Wir werden an späterer Stelle (Kapitel 4) das statische Template "content (default)"
inkludieren. Dieses statische Template enthält eine funktionsfähige und ausgearbeitete
Definition, wie Inhalte dargestellt werden können.
2.4 TypoScript Object Browser
Mit dem TypoScript-Object-Browser können wir uns durch unser TypoScript-Template
"hangeln". Er ist immer dann hilfreich, wenn wir in unserem TypoScript-Code (Feld: Setup)
einen Fehler haben, der nur schlecht zu identifizieren ist. Der Objekt-Browser zeigt uns den
"intern aufbereitete" TypoScript-Code in Form eines Baumes an.
www.typo3server.com - Robert Meyer Seite 23
mittwald medien
CM Services
2.5 Template Analyser
Mit dem Template-Analyser können komplexere Template-Strukturen "analysiert" werden. So
liefert der Template-Analyser zum Beispiel Einblick, in welcher Reihenfolge Template
inkludiert werden. Auch kann über den Template-Analyser in den Inhalt eines inkludierten
Templates (auch bei Modulen kann es vorkommen, dass ein Template inkludiert wird)
eingesehen werden.
2.6 Constant Editor
Mit dem Constant-Editor können Anpassungen an Variablen bzw. Constanten getätigt
werden. Voraussetzung für eine vernünftige Verwendung des Constant-Editors ist es, dass
innerhalb der Constanten-Definition (Kapitel 2.2.5) zusätzliche Informationen angegeben
wurden, wie diese Constanten zu editieren sind (welche Werte sind möglich etc.).
Mit dem Constant-Editor können also Variablen auf komfortable Art und Weise angepasst
werden, die in TypoScript eine Verwendung finden. Von einer exzessiven Nutzung des
Constant-Editors ist abzuraten, da Sie hier nur Anpassungen machen können.
2.7 Das Typo3 Caching-Konzept
Typo3 ist dynamisch. Alle Inhalte werden somit in Datenbanken gehalten und „auf Abruf“
entsprechend erzeugt. Um jedoch die Serverlast bzw. Performance zu erhöhen, wurde
Caching eingeführt. Hierdurch werden Inhalte als auch vom System erzeugte Grafiken
statisch gehalten, bis sich Veränderungen ergeben.
Die Datenbankabfragen zum Erzeugen einer Seite sind so komplex, das Sie für große
Präsentationen mit viel Verkehr nicht ständig ausgeführt werden können. Es sind in der
Regel auch immer die gleichen Daten, die der Benutzer bekommt, bis sich am dynamischen
Inhalt etwas verändert hat. Hierzu speichert Typo3 seine „Ergebnisse“ einer Datenbank-
Abfrage in einer Caching-Tabelle – ebenfalls in der Datenbank. Komplexe Abfragen über
mehrere Tabellen sind somit nicht mehr notwendig, da Typo3 einmal gespeicherte
Ergebnisse aus einer einzelnen Tabelle holen kann.
Insbesondere bei den erzeugten Grafiken führt dieses zu enormen Vorteilen. Müssten für
jeden Abruf die benötigten Grafiken erneut erzeugt werden, so wäre die Serverlast ein
mehrfaches und hätte Typo3 in die Schublade "langsam" katapultiert. Typo3 weiß in der
Regel, wann sich eine Seite verändert hat, wann neue Grafiken berechnet werden müssen
und wann Inhalte bzw. Grafiken aus den vorhandenen Quellen verwendet werden können.
www.typo3server.com - Robert Meyer Seite 24
mittwald medien
CM Services
Dennoch sind nicht alle Bereiche stets dynamisch möglich. Typo3 bietet sogar die
Möglichkeit, das Sie das Ergebnis einer Suchanfrage grafisch darstellen. Hier ist wenig mit
Caching möglich, da jede Suchanfrage in der Regel anders ausfällt und sich somit die
vorhandenen Daten aus der Caching-Tabelle nicht verwenden lassen. Unterlassen Sie
solche „Spielereien“ bitte zugunsten Ihres Servers und zugunsten der Geschwindigkeit Ihrer
eigenen Präsentation.
Leider kann das Caching auch manchmal zu Problemen führen – nicht in Bezug auf die
Geschwindigkeit, sondern vielmehr in Bezug auf die Darstellung innerhalb der Präsentation.
Typo3 bemerkt, wie oben schon erwähnt, wenn sich Inhalte verändert haben; allerdings ist
hierauf nicht immer Verlass. Aus diesem Grunde steht im Backend die Möglichkeit zur
Verfügung, den Cache zu leeren; entweder den gesamten Cache der Präsentation oder aber
nur den Cache der entsprechenden Seite.
Sollten Sie mit dem Caching von Grafiken Probleme haben, so können Sie den Inhalt des
Ordners typo3temp löschen. Danach müssen Sie allerdings den gesamten Cache leeren, da
Typo3 ansonsten den fertigen HTML-Quelltext aus der Datenbank nimmt und auf Grafiken
zeigt, die es nicht mehr gibt. Nach dem Leeren des Caches werden die Grafiken wieder neu
erstellt. Wie man aber dynamische Grafiken erstellt, erfahren Sie in den Kapitel 3.10
(GIFBUILDER) und 3.13 (GMENU).
Auch bei Designvorlagen kann es zu Caching-Problemen kommen: Ändern Sie den Inhalt
einer Designvorlage, ohne Typo3 hierüber zu informieren, werden Sie die Änderungen im
Frontend nicht erkennen können, da die Seiten aus dem Cache zur Verfügung gestellt
werden. Löschen Sie dann manuell den Cache. Was aber genau Designvorlagen sind,
erfahren Sie im Kapitel 3.7 sowie 4.2.
www.typo3server.com - Robert Meyer Seite 25
mittwald medien
CM Services
Kapitel 3: TypoScript Grundlagen
3.0 TypoScript-Syntax
3.0.1 Losgelöst von TypoScript
Um das Grundverständnis von TypoScript besser zu vermitteln, lösen wir uns jetzt einmal
von Typo3 und stellen uns vor, wir müssten eine eigene Scriptsprache entwickeln. Diese
Scriptsprache soll „Objektorientiert“ sein, in diesem Fall sei damit gemeint, das einzelne
Objekte zur Laufzeit erstellt werden können. Nehmen wir uns hierfür ein einfaches Windows-
Programm, das z.B. mit einer Scriptsprache gesteuert werden soll. Zu Beginn haben wir eine
kleine Entwicklungsumgebung (Text-Editor) und einen Parser, der unseren Scriptcode
verarbeitet.
Als Objekttypen soll unser kleines Programm Bilder (IMAGE) und Textblöcke (TEXT)
kennen. Jede Zeile Scriptcode soll eine Wertzuweisung sein, also ein Gleichheitszeichen
enthalten.
Bsp.-Code: meinBild = IMAGE
Hiermit erzeugen wir ein Objekt vom Typ „IMAGE“ mit dem Namen „meinBild“. Jetzt können
wir auf die Eigenschaften von IMAGE-Objekten zugreifen. Eigenschaften sollen z.B. sein: die
Angabe einer Datei (zum Angeben einer Grafik-Datei) und die Position des Bildes in unserer
Windows-Umgebung (X,Y-Koordinaten).
meinBild = IMAGE
meinBild.datei = c:/meinTestprogramm/bilder/bild1.bmp
meinBild.links = 300
meinBild.oben = 100
Somit würde das Objekt meinBild vom Typ „IMAGE“ erzeugt, die Grafikdatei eingelesen und
mittels der Eigenschaften links und oben entsprechend positioniert. Nun sind wir schreibfaul
und möchten nicht immer meinBild schreiben. Daher erlauben wir nun das Ausklammern:
meinBild = IMAGE
meinBild {
datei = c:/meinTestprogramm/bilder/bild1.bmp
links = 300
oben = 100
}
Nun hat spätestens der Parser ein Problem, da er diesen ScriptCode nicht mehr so einfach
lesen kann. Er wird daher in einem Zwischenschritt aufbereitet und zwar in seine
Ursprungsform. Alle geschweiften Klammern werden hier verarbeitet. Aus dem zweiten
Beispielcode wird hier also der erste Beispielcode erstellt. Der zweite Teil ist für den
Scriptersteller nur als Hilfestellung gedacht.
www.typo3server.com - Robert Meyer Seite 26
mittwald medien
CM Services
Sehen wir uns nun z.B. ein Text-Objekt an:
meinText1 = TEXT
meinText1.text = Hier steht der Text
meinText1.schrift.art = Arial
meinText1.schrift.groesse = 11
meinText1.schrift.fett = 1
meinText2 = TEXT
meinText2.text = Hier steht noch ein Text
meinText2.schrift.art = Arial
meinText2.schrift.groesse = 11
meinText2.schrift.fett = 1
In unserer „schreibfaulen“ Version sieht es dann etwa so aus:
meinText1 = TEXT
meinText1 {
text = Hier steht der Text
schrift {
art = Arial
groesse = 11
fett = 1
}
}
meinText2 = TEXT
meinText2 {
text = Hier steht noch ein Text
schrift {
art = Arial
groesse = 11
fett = 1
}
}
Vor dem parsen würde diese „schreibfaule“ Variante also in die erste Version ohne
ausklammern konvertiert. Aber wir werden noch schreibfauler. Wie wir gesehen haben, sind
die Texteigenschaften bzw. Schrifteigenschaften bei beiden Textobjekten gleich (art=Arial,
groesse=1, fett=1). Um uns diesen Aufwand zu ersparen, ermöglichen wir das Kopieren von
Elementen:
www.typo3server.com - Robert Meyer Seite 27
mittwald medien
CM Services
meinText1 = TEXT
meinText1 {
text = Hier steht der Text
schrift {
art = Arial
groesse = 11
fett = 1
}
}
meinText2 < meinText1
meinText2.text = Hier steht noch ein Text
Der Parser erwartet wieder „fertigen“ Code, obiges Beispiel muss also wieder aufbereitet
werden. Der aufbereitete Code sieht jetzt so aus:
meinText1 = TEXT
meinText1.text = Hier steht der Text
meinText1.schrift .art = Arial
meinText1.schrift.groesse = 11
meinText1.schrift.fett = 1
# Hier stand vorher meinText2 < meinText1
# BEGIN DES KOPIERENS
meinText2 = TEXT
meinText2.text = Hier steht der Text
meinText2.schrift .art = Arial
meinText2.schrift.groesse = 11
meinText2.schrift.fett = 1
# ENDE DES KOPIERENS
meinText2.text = Hier steht noch ein Text
Und genau dieses Kopieren lässt fantastische Möglichkeiten zu.
TypoScript selbst ist recht dumm. Es bietet jedoch einige wenige Funktionen, die TypoScript
zu einem undurchsichtigen Code machen können. TypoScript selbst kennt nur drei
Operatoren: Zuweisen, kopieren und löschen. Auch kann Inhalt von anderen Templates
„included“ (hinzugefügt) werden. Der simpelste TypoScript-Operator ist der
Zuweisungsoperator. Wenn man so will, dann ist er der einzige Operator, den der Parser
kennt. Der Kopier- bzw. Löschoperator macht den Code bzw. die Anwendung für den
Entwickler sehr einfach. Ebenfalls unterstützend wirken geschweifte Klammern (für die
Schreibfaulheit) und Kommentare. All diese Möglichkeiten werden in einem Zwischenschritt
zu einem für den Parser leserlichen Code aufbereitet. Der Parser erwartet eben, wie schon
oben erwähnt, den TypoScript-Code mit reinen Wertzuweisungen (Eine Wertzuweisung ist
das Zuweisen eines Wertes an eine Eigenschaft, somit das Gleichheitszeichen).
www.typo3server.com - Robert Meyer Seite 28
mittwald medien
CM Services
Folgender Beispielcode gilt nur zur Verdeutlichung, er ist in dieser Art nicht direkt
anwendbar.
include = datei.txt
seite = PAGE
seite {
typeNum = 0
10 = TEXT
10 {
value = Dies ist eine Testseite
wrap < meinFontWrap
}
}
meinFontWrap >
seite.20 = TEXT
seite.20.value = Noch ein Test
seite.20.wrap < meinFontWrap
Inhalt der Datei datei.txt:
meinFontWrap = <font face=”Arial”>|</font>
Der aufbereitete Quelltext sieht nun wie folgt aus:
meinFontWrap = <font face=”Arial”>|</font>
seite = PAGE
seite.typeNum = 0
seite.10 = TEXT
seite.10.value = Dies ist eine Testseite
seite.10.wrap = <font face=”Arial”>|</font>
seite.20 = TEXT
seite.20.value = Noch ein Test
seite.20.wrap =
Diese Daten kann der Parser verstehen und auswerten, da jede Zeile eine Zuweisung ist.
www.typo3server.com - Robert Meyer Seite 29
mittwald medien
CM Services
3.0.2 Operatoren
Operator Beschreibung
= Wertzuweisung
Bsp: seite = PAGE
seite.typeNum = 0
seite.10 = TEXT
seite.10.value = HELLO WORLD
> Lösch-Operator
Der Lösch-Operator löschetalle Eigenschaften und
Wertzuweisungen ab einem gegebenen Punkt:
Bsp: seite = PAGE
seite >
< Kopier-Operator
Der Kopier-Operator kopiert alle Eigenschaften und
Wertzuweisungen ab einem gegebenen Punkt:
Bsp: seite = PAGE
seite.typeNum = 0
seite.10 = TEXT
seite.10.value = HELLO WORLD
seite.20 < seite.10
{ } Die geschweiften Klammern dienen zur vereinfachten
Schreibweise (kein wirklicher Operator).
Bsp: seite = PAGE
seite {
typeNum = 0
10 = TEXT
10.value = HELLO WORLD
}
( ) Die einfachen Klammern dienen zur Wertzuweisung über mehrere
Zeilen (kein wirklicher Operator)
Bsp: seite = PAGE
seite.typeNum = 0
seite.wrap (
<table>
<tr>
<td> | </td>
<tr>
</table>
)
# Kommentar. Kommentare dürfen nicht (!) mit anderen Operatoren
kombiniert werden.
Erlaubt: # Das ist ein Kommentar
Nicht erlaubt: seite = PAGE # Dieser Kommentar ist nicht
gestattet
www.typo3server.com - Robert Meyer Seite 30
mittwald medien
CM Services
3.1 PAGE-Objekt
Beispiel:
01 seite = PAGE
02 seite.typeNum = 0
03 seite.bodyTag = <body bgcolor=“#CCCCCC“>
Erläuterung zum Beispiel 1:
· In Zeile 1 wird dem Bezeichner „seite“ das Objekt „PAGE“ zugewiesen. Damit hat
„seite“ PAGE-Eigenschaften erhalten (siehe PAGE-Referenz). Die typeNum ist eine
PAGE-Eigenschaft, die gesetzt werden muss.
· In einem Template sollte es immer ein PAGE-Objekt mit einer typeNum = 0 geben.
Der typeNum wurde weiter unten aufgrund seiner Bedeutung ein eigener Abschnitt
(3.1.1) gewidmet.
· In Zeile 3 wird der Eigenschaft bodyTag (Case-Sensitiv: bodyTag wird mit einem
großen „T“ geschrieben!) der gesamte HTML-Tag angegeben. bodyTag hat aber
intern einen Default-Wert: <body bgcolor=“#FFFFFF“>. Wird die Eigenschaft bodyTag
nicht gesetzt, so verwendet Typo3 den internen Default-Wert.
Beispiel:
01 seite = PAGE
02 seite {
03 typeNum = 0
04 bodyTag = <body bgcolor=“#CCCCCC“>
05 }
Erläuterung zum Beispiel 2:
Dieses Beispiel ist identisch zum Beispiel 1, jedoch wurde ausgeklammert. Durch das
Ausklammern in Zeile 2 wird jeder weiteren Eigenschaft bis zur schließenden geschweiften
Klammer das „seite“ vorangestellt. Hierdurch ergibt sich intern aus Zeile 3 „seite.typeNum =
0“.
www.typo3server.com - Robert Meyer Seite 31
mittwald medien
CM Services
3.1.1 Die typeNum-Eigenschaft
In einem Template kann mehr als einmal das PAGE-Objekt definiert werden. Übliche
Anwendungen sind z.B. die Definition eines Designs für die „normale“ Webseite und ein
Design für eine Druckversion (gleicher Inhalt, anderes Design). Ebenfalls wird die typeNum-
Eigenschaft bei Seiten mit Frames verwendet (mehrere Seiten, unterschiedlicher Inhalt).
Auch kann die typeNum für diverse Ausgabemedien (Browser, PDA etc.) verwendet werden.
Wie wird die typeNum eingesetzt?
Üblicherweise wird die Webseite im Frontend wie folgt aufgerufen:
Möglichkeit 1: index.php?id=123
Möglichkeit 2: 123.0.html
(Es gibt noch weitere Möglichkeiten)
Bei der Möglichkeit 1 wird nur angegeben, dass die Seite mit der eindeutigen ID 123 (Tabelle
pages, Feld uid) aufgerufen werden soll. Wird keine „typeNum“ angegeben, wird intern die
typeNum 0 verwendet. Hierzu sucht Typo3 im Template nach einem PAGE-Objekt, das als
Wert für die typeNum eine 0 hat.
Bei der Möglichkeit 2 (123.0.html, simulateStaticDocuments) wird mit der 123 ebenfalls die
eindeutige Seiten-ID angegeben, die 0 gibt aber schon die typeNum an, die verwendet
werden soll.
Um mit der Möglichkeit 1 eine explizite typeNum anzugeben (ungleich 0), kann der
Parameter &type= verwendet werden.
Beispiel: index.php?id=123&type=1
Beispiel:
01 seite = PAGE
02 seite.typeNum = 0
03 seite.bodyTag = <body bgcolor=“yellow“>
04
05 test = PAGE
06 test.typeNum = 1
07 test.bodyTag = <body bgcolor=”red”>
Um den Bereich „seite“ auszuführen, reicht z.B. ein Aufruf mittels „index.php?id=0“. Um den
Bereich „test“ auszuführen, ist ein Aufruf mittels „index.php?id=0&type=1“ notwendig.
Anwendungsfall
Ein typischer Anwendungsfall zur Verwendung der typeNum ist die Druckversion (Abschnitt
6.3)
www.typo3server.com - Robert Meyer Seite 32
mittwald medien
CM Services
3.1.2 Die Nummern „10, 20, 30, ...“
An einigen Stellen in TypoScript wird man diese Nummern wiederfinden. Sie ermöglichen es,
dass z.B. auf dem PAGE-Objekt in sortierter Reihenfolge mehrere Objekte abgelegt werden
können (COA = Content Objekt Array, Nähere Informationen hierzu im Kapitel 3.4). Möglich
sind auch Werte wie 1, 2, 3. Da jedoch diese Nummern die Sortierreihenfolge (oder
Ausführungsreihenfolge, Position) angeben, werden in der Regel Zehnerschritte verwendet,
um noch Platz zu haben, „falls einmal etwas vergessen wurde“ (ähnliche Handhabung wie
früher unter der Programmiersprache Basic).
Beispiel 1 (nicht ausführbar):
01 seite = PAGE
02 seite.typeNum = 0
03 seite.10 = IRGENDEINOBJEKT
04 seite.10.wert = 123
05 seite.20 = NOCHEINOBJEKT
06 seite.20.wert = 456
In der Zeile 3 wird an der Position 10 ein Objekt zugewiesen, in Zeile 5 ein anderes Objekt
auf der Position 20. Somit liegen auf dem PAGE-Objekt zwei weitere Objekte, die in einer
gegebenen Reihenfolge ausgegeben werden (erst die 10, dann die 20).
Beispiel 2 (nicht ausführbar)
01 seite = PAGE
02 seite.typeNum = 0
03 seite
Benutzeravatar
JesusOfCool
Beiträge: 34685
Registriert: 27.11.2009 09:55
Persönliche Nachricht:

Beitrag von JesusOfCool »

n1 ;)
Bild
Benutzeravatar
mosh_
Beiträge: 35281
Registriert: 09.04.2006 20:51
Persönliche Nachricht:

Beitrag von mosh_ »

Close ???
#PESTOUNDBIER

Bild
Gesperrt