Скачать презентацию TYPO 3 -Workshop Typo Script und Templates RRZN Скачать презентацию TYPO 3 -Workshop Typo Script und Templates RRZN

2906b9cafc24b3ae8afbd026cc2482b0.ppt

  • Количество слайдов: 41

TYPO 3 -Workshop Typo. Script und Templates RRZN Universität Hannover Regionales Rechenzentrum für Niedersachsen 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. 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 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 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 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 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 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 = 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 = 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 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 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 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 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 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 ( Hallo HTML Dies ist ein. . .

Inhalt wird mit Typo. Script erzeugt!


Typo 3 )

Ein Menü n Position 5 wird ein HMENU (Content. Object vom Typ HMENU) gesetzt 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: { 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 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 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 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 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 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 /* 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 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 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 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 = | 20 = TEXT 20. field = bodytext }

statische Templates – content (default) n Satz vorgefertigter Templates in Typo 3 („preset chunks 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 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 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 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> <head> </head> <body> <!-- ###DOCUMENT_BODY### begin --> <h HTML-Template HTML-Templage (HTML-Vorlagen-Datei) (fileadmin/vorlagen/homepage. html) Demo-Site ###CONTENT### Anmerkung: fileadmin/vorlagen ist ein übliches Verzeichnis, im TLUH-Template liegen die Vorlagen in typo 3 conf/ext/. . . (im fileadmin also nicht sichtbar) Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 30

HTML-Template in Typo. Script page = PAGE page. 10 = TEMPLATE page. 10 { 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. 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 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 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 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-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 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. 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 | 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 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. page. type. Num Beispiel: Zwei Ausgabe-Typen für eine Seite page = PAGE page. type. Num = 0 page. body. Tag = page. 10 = HTML page. 10. value = {$zf} page. 10. value. case = upper zweite. Ausgabe = PAGE # BEACHTE SYNTAX {} zweite. Ausgabe{ type. Num = 30 body. Tag = 10 = TEXT 10. value = Ausgabe mit type. Num 30 } Aufruf http: //domain/index. php? id=1&type=30 Regionales Rechenzentrum für Niedersachsen T. Kröckertskothen | April 2005 | Folie 41