
2906b9cafc24b3ae8afbd026cc2482b0.ppt
- Количество слайдов: 41
TYPO 3 -Workshop Typo. Script und Templates RRZN Universität Hannover Regionales Rechenzentrum für Niedersachsen
Templates und Typo. Script Ziele dieses Kapitels n Einführung der Begriffe Template und Typo. Script n Typo. Script an Hand einfacher Templates n Typo. Script Syntax n Kennlernen der Werkzeuge zur Template-Berarbeitung o Template-Analyzer o Typo. Script Object Browser (TCO) o Template Record Editor Ausgangslage: n Site mit wenigen Seiten und ohne Template Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 2
Templates in Typo 3 n steuern die Web-Darstellung von Seiten n ohne Template keine Web-Seite n n steuern die Web-Darstellung von Seiten Konfiguration mit Typo. Script hierarchisch geordnet Datensatz in der Tabelle sys_template n sind keine HTML-Dateien Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 3
Typo. Script n TYPO 3 -spezifische Syntax zur Beschreibung von Daten n hierarchische Struktur in ASCII-Text n wird in einen mehrdimensionalen PHP-Array übersetzt (TS-Parser) „Typo. Script is parsed that means it is transformed into a PHP array!“ n ermöglicht die Konfiguration von php-Dateien in Typo 3 Typo. Script ist zu finden in n Page TSConfig n User TSConfig n Typo. Script Templates Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 4
Typo. Script – Erstes Template Ausgangslage Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 5
Erstes Template erstellen n Start-Seite im Seitenbaum wählen n Web-Module Template n Button „Create Template for a new site“ Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 6
Template-Werkzeuge – Pulldown-Menü Werkzeuge im Template-Modul n Constant-Editor n Info/Modify n Typo. Script Object Browser n Template Analyzer Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 7
Hello-World-Template Typo. Script-Template Hello-World # Default PAGE object: page = PAGE page. 10 = TEXT page. 10. value = HELLO WORLD! Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 8
Hello-World-Template Typo. Script-Template Hello-World # Default PAGE object: page = PAGE page. 10 = TEXT page. 10. value = HELLO WORLD! n Zeile 1: Kommentar n Zeile 2: Objekt vom Typ PAGE mit der Bezeichnung page o page. 10 Property c. Obj vom Typ TEXT o Die Nummer legt die Reihenfolge der c. Obj-Elemente auf der Seite fest n Zeile 3: page. 10. value Property value des Objekts. TEXT (Text erhält den Wert „HELLO WORLD!“) Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 9
PAGE n Typo. Script Objekt n „setup“-Objekt n startet Web-Präsentation einer Seite (Web-Ausgabe eines Datensatzes uid aus Tabelle pages) n notwendig (ohne PAGE keine Ausgabe) Weitere Informationen siehe auch n TSref o typo 3. org o Dokumentation – Core Documentation (tsref. de) Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 10
Typo. Script-Elemente Erste Übersicht über Typo. Script-Elemente (Details folgen): n Data types n Conditions n Functions n setup-Objekte o PAGE o config o. . . n Content-Objects o TEXT o HTML o HMENU o IMAGE o. . . n Menu Objects Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 11
page. 10=TEXT page = PAGE page. 10 = TEXT page. 10. value=Hallo c. Object erste Formulierung Objekt vom Typ TEXT wird an die Position 10 auf die Seite gesetzt Wert ist Hallo c. Object präziser formuliert (siehe TSref) PAGE hat die Property 1, 2, 3, … zulässiger Datentyp ist c. Object (Content Object) die Nummer legt die Reihenfolge der Content-Objekte auf der Seite fest Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 12
Content Objects (c. Object) n Konfigurieren die Darstellung von Inhaltselementen auf der Web-Seite n Inhaltselemente werden aus Tabellen geladen oder in Typo. Script erzeugt n Beispiele für Content Objects (siehe TSref) n n n n TEXT HTML CONTENT HMENU FORM PHP_SCRIPT … n Werte für die Darstellung werden durch Properties des jeweiligen Content Object festgelegt Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 13
Content-Element HTML an Position 10 Hinweis zur Syntax: Runder Klammern ( eine Zeile noch eine Zeile ) fassen mehrere Zeilen zusammen und weisen diesen einem Wert zu Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 14 page = PAGE page. type. Num = 0 page. 10=HTML page. 10. value (
Inhalt wird mit Typo. Script erzeugt!
Ein Menü n Position 5 wird ein HMENU (Content. Object vom Typ HMENU) gesetzt n HMENU ist ein Array von MENUObjekten n MENUE-Objekte sind z. B. GMENU, TMENU, IMGMENU, … n An Position 1 von HMENU wird ein TMENU gesetzt n wrap umschließt das aktuelle Elemente mit Werten | bezeichnet das aktuelle Element Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 15 page. 5 = HMENU page. 5. 1=TMENU page. 5. 1. wrap = | page. 5. 1. NO. Atag. Before. Wrap=1 page. 5. 1. NO. link. Wrap= |
Typo. Script am Beispiel Menü An Hand der MENU-Anweisungen werden Typo. Script-Elemente vorgestellt: { } < =< > Properties zusammenfassen Objekte kopieren Objekte referenzieren Objekte löschen Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 16 page. 5 = HMENU page. 5. 1=TMENU page. 5. 1. wrap = | page. 5. 1. NO. Atag. Before. Wrap=1 page. 5. 1. NO. link. Wrap = |
Typo. Script { } Typo. Script Anweisungen für das HMENU lassen sich auch übersichtlicher formulieren { } fassen Wertzuweisungen für Properties eines Objekts zusammen Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 17 page. 5 = HMENU page. 5. 1=TMENU page. 5. 1. wrap = | page. 5. 1. NO. Atag. Before. Wrap=1 page. 5. 1. NO. link. Wrap = | page. 5 = HMENU page. 5. 1=TMENU page. 5. 1{ wrap = | NO { Atag. Before. Wrap=1 link. Wrap = | } }
Typo. Script – Anweisungen kopieren < Konzept: n Typo. Script-Anweisungen werden an einer Stelle festgelegt und an andere Stellen kopiert < kopiert einen Objekt-Pfad page. 5 < temp. Mein. Menu wird nach page. 5 kopiert top-level-Pfade mit der Bezeichnung temp (und styles) werden vom Parser nach dem Kopieren gelöscht! Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 18 temp. Mein. Menu = HMENU temp. Mein. Menu. 1 = TMENU temp. Mein. Menu. 1 { wrap = | NO { Atag. Before. Wrap=1 link. Wrap = | } } page = PAGE page. type. Num = 0 page. 5 < temp. Mein. Menu
Objekt-Pfade referenzieren =< <= referenziert einen Objekt-Pfad n Identische Objekt-Pfade können an mehreren Stellen im Typo. Script-Code verwendet werden n temp darf nicht für referenzierte Objekt. Pfade verwendet werden (da vom Parser entfernt) Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 19 lib. Mein. Menu = HMENU lib. Mein. Menu. 1 = TMENU lib. Mein. Menu. 1 { wrap = | NO { Atag. Before. Wrap=1 link. Wrap = | } } page = PAGE page. type. Num = 0 page. 5 <= lib. Mein. Menu
Objekt-Pfade löschen > lib. Mein. Menu > n Objekt lib. Meinu ist ab der Typo. Script. Zeile gelöscht. Das Menü wird in diesem Fall nicht angezeigt – Demo-Anwendung n > wird benötigt, um in Template-Hierarchien übergeordnete Objekt-Pfade sicher zu bereinigen und durch eigene Werte zu ersetzen. Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 20 lib. Mein. Menu = HMENU lib. Mein. Menu. 1 = TMENU lib. Mein. Menu. 1 { wrap = | NO { Atag. Before. Wrap=1 link. Wrap = | } } page = PAGE page. type. Num = 0 lib. Mein. Menu > page. 5 < lib. Mein. Menu
Bedingungen werden durch [bedingung] eingeleitet [else] Verzweigung [end] Ende der Bedinugung [global] setzt alle Bedingungen zurück kehrt zur obersten (globalen) Typo. Script-Ebene zurück Es gibt Bedingungen für n Browser n Betriebssysteme n Zeiten n Sprachen n IP-Adressen n …. n siehe TSRef Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 21 [browser = netscape] page. 5 =< lib. Mein. Menu [else] page. 5=TEXT page. 5. value = KEIN MENUE [end] [global]
Kommentare in Typo. Script # Dies ist ein Kommentar // ebenfalls ein Kommentar /* Kommentar-Block */ # bisher keine Inhalts-Elemente ausgegeben! Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 22
Inhaltselemente darstellen Ziel: n Inhaltselemente von Seiten ausgeben Schritte n einfaches Template für die Ausgabe von Text. Elementen n statische Templates einsetzen n content (default) nutzen n Template-Hierarchie Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 23
Ziel: Text von Seiten ausgeben Typo 3 -php-classes Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 24
Text von Seite ausgeben – Typo. Script n c. Object vom Typ CONTENT n Mit Property table wird die Tabelle festgelegt (Inhaltselemente einer Seite sind Datensätze in der Tabelle tt_content) n select-Anweisung für DB-Abfrage wird spezifiziert n tt_content wird als COA (Content Object Array) festgelegt n Positition 10 header-Feld des Text-Records n Positions 20 bodytext-Feld Anmerkungen: n Es werden nur Text-Elemente des Seite angezeigt! n Für solche Standard-Anwendungen gibt es fertige statische Templates! Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 25 page = PAGE page. type. Num = 0 page. 10 = CONTENT page. 10{ table = tt_content select { pid. In. List = this order. By=sorting } } tt_content = COA tt_content{ 10 = TEXT 10. field = header 10. wrap =
statische Templates – content (default) n Satz vorgefertigter Templates in Typo 3 („preset chunks of Typo. Script code“) n werden in der Liste „Include statics“ im Template-Record-Editor aufgeführt n sind nicht änderbar („read only“) CSS styled content n Ausgabe der Inhalte mit "CSS-Rendering" Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 26
Inhalte mit style. content. get einfügen Einfügen von Inhalt in eine Seite # Default PAGE object: page = PAGE page. 10 = TEXT page. 10. value = Inhalt: page. 30 < styles. content. get # die rechte Spalte page. 40 < styles. content. get. Right Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 27
Bemerkungen zu Typo. Script n Typo. Script ist nur eine Syntax n Folgendes ist zulässig (aber wirkungslos) (Objekt bla mit Properties) bla = zui{ bg=gelb tzum=123 tzum { 1 = rt } n Typo. Script wird vom Parser in einen php-Array überführt der Array wird von entsprechenden php-Dateien ausgewertet n Wirkung der Typo. Script-Objekte (Arrays) wird von der php-Datei (Typo 3 Core, Extension) festgelegt (nicht von Typo. Script) n Information und Hilfe TSRef, Extension-Dokumentation n Typo. Script property lookup Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 28
HTML-Vorlagen und CSS Aufbau einer Web-Site allein mit Typo. Script-Template möglich aber nicht sinnvoll Konzept: n HTML-Design-Vorlagen (HTML-Templates)und CSS n mit Typo. Script werden nur die dynamischen Elemente (Inhalte, Menüs, Fußzeilen, etc. ) gesteuert. Vorteil u. a. : n Design-Vorlage und Typo. Script können getrennt voneinander bearbeitet werden Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 29
HTML-Template HTML-Templage (HTML-Vorlagen-Datei) (fileadmin/vorlagen/homepage. html)
HTML-Template in Typo. Script page = PAGE page. 10 = TEMPLATE page. 10 { template=FILE template. file=fileadmin/vorlagen/homepage. html work. On. Subpart = DOCUMENT_BODY marks { CONTENT < styles. content. get } } Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 31
Anwendungs-Beispiele n Einfacher Tag tt_content. text. 20. parse. Func. tags. orange = TEXT tt_content. text. 20. parse. Func. tags. orange { current = 1 wrap = | } n Interner Bereich mit Zugangsregeln über IP-Nummer page. 10. subparts. SUB_CONTENT. 10 > [IP= 130. 75. 5. *] page. 10. subparts. SUB_CONTENT. 10 = COA page. 10. subparts. SUB_CONTENT. 10 { 10 < styles. content. get } [globals] Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 32
Konstanten (Contants) n im „Constants“-Feld eines Templates definierte Werte constante = wert n es gilt Typo. Script-Syntax n im „Setup“-Feld eingefügt {$constante} Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 33
Template-Strukturen Rootlevel-Templates n im Template-Record ist Rootlevel aktiviert n Konfiguration gilt innerhalb der gesamten Rootline – bis Werte in Sublevel-Templates überschrieben oder ergänzt werden Sublevel-Templates n innerhalb einer Rootline mit bestehenden Rootlevel-Template n überschrieben/ergänzen bestehenden Template-Record Basis-Templates n enthalten Typo. Script (und andere Template-Record-Konfigurationen) n werden in Rootleve-Templates/Sublevel-Templates eingebunden n schaffen Ordnung im Typo. Script-Code Template on next level n Template für die nächste Ebene Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 34
Werkzeuge zur Template-Bearbeitung Überblick über die wichtigsten Werkzeuge zur Template-Bearbeitung an Hand eines Standard-Templates Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 35
Template-Werkzeuge im Template-Module Pull-down-Menü n n Constant Editor Info/Modify Typo. Script Objekt Browser (TSOB) Template Analyzer Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 36
Typo. Script Object Browser (TSOB) n zeigt Typo. Script-Objekte und Properties n Ändern, Hinzufügen von Properties n Kontrolle und Anpassung bei der Typo. Script-Entwickling Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 37
Template Analyzer n Anzeigen der Template Hierarchie n Quelltext Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 38
Admin-Panel – Typo. Script Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 39
typnum – &id und &type Jede Seite wird aufgerufen mit http: //domain/index. php? id=xx wobei xx die Seiten-ID der Seite in Typo 3 ist Zusätzlicher Parameter kann type sein: http: //domain/index. php? id=xx&type=n n ist der Wert für den Ausgabetyp der Seite Der Ausgabetyp wird mit der PAGE-Propertyp type. Num festgelegt Standard-Wert ist 0 (und kann beim Aufruf entfallen) Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 40
page. type. Num Beispiel: Zwei Ausgabe-Typen für eine Seite page = PAGE page. type. Num = 0 page. body. Tag =