Typo Script für Anfänger II - stdWrap

6,772 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,772
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Typo Script für Anfänger II - stdWrap

  1. 1. typofaktum unternehmenskommunikation stdWrap für Anfänger TypoScript - von Anfang an - Teil II 05. Mai 2009 - TYPO3 Usergroup München Patrick Lobacher Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  2. 2. typofaktum unternehmenskommunikation Was kann TypoScript? Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  3. 3. typofaktum unternehmenskommunikation „Normales“ TypoScript Setzen von Werten (Zuweisung) Kopieren und Referenzieren von Werten Ausklammern Conditions Objekte (TLO und Content-Objekte) Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  4. 4. typofaktum unternehmenskommunikation „Normales“ TypoScript page = PAGE page { 10 = TEMPLATE 10 { template = FILE template.file = fileadmin/templates/index.html workOnSubpart = DOCUMENT marks { ... } } } Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  5. 5. typofaktum unternehmenskommunikation Häufige Aufgaben Ermittlung von Daten (Datenbank, ...) Berechnen von Werten Formatieren von Werten Ausgabe von Werten, abhängig vom Ergebnis von Abfragen (if) Zerlegung von Texten => nicht machbar mit “normalem“ TypoScript Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  6. 6. typofaktum unternehmenskommunikation Die Lösung: stdWrap Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  7. 7. typofaktum unternehmenskommunikation Das Schweizer Messer des TypoScripts Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  8. 8. typofaktum unternehmenskommunikation Was ist stdWrap?? Unklar woher der Name kommt - ausgesprochen „Standard Wrap“ Herkunft vom Wrap-Konzept: abc | def stdWrap ist ein Konzept, hinter dem zahlreiche nützliche (PHP)-Funktionen stehen, die Daten ermitteln, Daten überschreiben und Daten verarbeiten. Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  9. 9. typofaktum unternehmenskommunikation ACHTUNG TECHNIK! Für stdWrap verantwortliche Datei in TYPO3: typo3/sysext/cms/tslib/class.tslib_content.php Alle möglichen Funktionen sind dort definiert Die dortige Reihenfolge ist entscheidend Momentan 76 Funktionen im stdWrap- Baukasten Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  10. 10. typofaktum unternehmenskommunikation ACHTUNG TECHNIK! Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  11. 11. typofaktum unternehmenskommunikation Referenz?? Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  12. 12. typofaktum unternehmenskommunikation TSref www.tsref.net DIE Referenz Abschnitt 1.5 Functions stdWrap Abschnitt 1.2 Data types Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  13. 13. typofaktum unternehmenskommunikation Auszug aus TSref Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  14. 14. typofaktum unternehmenskommunikation TSref - Datentyp Mögliche Werte für eine TS-Eigenschaft Datentyp /stdWrap Erwartet einen Wert vom Typ „Datentyp“ (z.B. String, HTML, Integer, ...). Zusätzlich können DARAUF stdWrap- Funktionen angewendet werden. Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  15. 15. typofaktum unternehmenskommunikation Einfache Beispiele Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  16. 16. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 1 page = PAGE page.10 = HTML page.10.value = Hello Usergroup! Ausgabe: Hello Usergroup! Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  17. 17. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 2 page = PAGE page.10 = HTML page.10.value = Hello Usergroup! page.10.value.case = upper Ausgabe: HELLO USERGROUP! Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  18. 18. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 3 page = PAGE page.10 = HTML page.10.value = Hello Usergroup! page.10.value.wrap = Welcome! | Ciao! Ausgabe: Welcome!Hello Usergroup!Ciao! Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  19. 19. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 4 page = PAGE page.10 = HTML page.10.value = Hello Usergroup! page.10.value.crop = 5 | ... Ausgabe: Hello... Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  20. 20. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 4 Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  21. 21. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 4 page = PAGE page.10 = HTML page.10.value = Munich page.10.value.wrap = Hello | Usergroup page.10.value.crop = 5 | ... Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  22. 22. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 4 page = PAGE page.10 = HTML page.10.value = Munich page.10.value.wrap = Hello | Usergroup page.10.value.crop = 5 | ... Ausgabe: Hello... Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  23. 23. typofaktum unternehmenskommunikation Einfaches HTML-Objekt - 4 page = PAGE page.10 = HTML page.10.value = Munich page.10.value.wrap = Hello | Usergroup page.10.value.crop = 5 | ... Ausgabe: Hello... HelloMunic...Usergroup ✔ Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  24. 24. typofaktum unternehmenskommunikation stdWrap Systematik Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  25. 25. typofaktum unternehmenskommunikation stdWrap - Arten Get data - Daten ermitteln (field, data, ...) Override / Conditions - Überschreiben und IF (override, if, required, stdWrap,...) Parse data (Parsen und Verändern) (split, prioriCalc, case, crop, wrap, ...) Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  26. 26. typofaktum unternehmenskommunikation stdWrap Get Data Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  27. 27. typofaktum unternehmenskommunikation Get data setContentToCurrent current setCurrent cObject lang numRows data filelist field preUserFunc Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  28. 28. typofaktum unternehmenskommunikation Get data - field Ermittelt den Wert eines Datenbankfeldes aus dem aktuellen Context Context beim PAGE-Objekt ist die Tabelle pages In dem Fall können sämtliche Elemente der Seiteneigenschaften ermittelt werden Wenn nichts anderes angegeben wurde, werden die Daten der aktuellen Seite ermittelt Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  29. 29. typofaktum unternehmenskommunikation Get data - field page = PAGE page.10 = HTML page.10.value.field = title Gibt den Seitentitel der aktuellen Seite aus Problem: Wie heissen die anderen Felder? Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  30. 30. typofaktum unternehmenskommunikation Get data - field Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  31. 31. typofaktum unternehmenskommunikation Firebug Ermittlung des Feldes „Speaking URL path segment“ tx_realurl_ pathsegment Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  32. 32. typofaktum unternehmenskommunikation Debugging page = PAGE page.10 = HTML page.10.value.debugData = 1 IP-Adresse in Install-Tool eintragen Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  33. 33. typofaktum unternehmenskommunikation Debugging Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  34. 34. typofaktum unternehmenskommunikation Get data - data Datentyp getText Ermittlung allgemeiner Daten Nicht auf aktuelle Seite beschränkt Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  35. 35. typofaktum unternehmenskommunikation Get data - data page = PAGE page.10 = HTML page.10.value.data = date : d.m.Y Gibt das aktuelle Datum aus page = PAGE page.10 = HTML page.10.value.data = leveltitle : -2 Gibt den Seitentitel der Elternseite aus Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  36. 36. typofaktum unternehmenskommunikation stdWrap Conditions / Override Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  37. 37. typofaktum unternehmenskommunikation Conditions / Override override trim preIfEmptyListNum stdWrap ifEmpty required ifBlank if listNum fieldRequired Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  38. 38. typofaktum unternehmenskommunikation Override / Conditions page = PAGE page.10 = HTML page.10.value = Der Untertitel ist leer! page.10.value { override.cObject = TEXT override.cObject.field = subtitle } Gibt den Untertitel der Seite aus. Wenn dieser leer ist, wird „Der Untertitel ist leer!“ ausgegeben Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  39. 39. typofaktum unternehmenskommunikation Override / Conditions page = PAGE page.10 = HTML page.10 { value = Diese Seite ist aktuell! value.if { value.data = date: U isGreaterThan.field = newUntil } } Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  40. 40. typofaktum unternehmenskommunikation Override / Conditions Gibt „Diese Seite ist aktuell!“ aus, wenn das aktuelle Datum vor dem Datum liegt, welches im Feld „New until“ in den Seiteneigenschaften eingegeben wurde. Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  41. 41. typofaktum unternehmenskommunikation Override / Conditions Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  42. 42. typofaktum unternehmenskommunikation stdWrap Parse Data Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  43. 43. typofaktum unternehmenskommunikation Parse Data (Auswahl) split (Aufsplitten nach Trennzeichen) prioriCalc (Berechnen von Werten) date (gibt ein formatiertes Datum zurück) strftime (wie date) removeBadHTML (filtert Sonderzeichen) stripHtml (entfernt HTML) Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  44. 44. typofaktum unternehmenskommunikation Parse Data (Auswahl) crop (Kürzen von Strings) br (Wandelt Zeilenvorschübe in <br>-Tags um) innerWrap (Wrappt den Inhalt) wrap (Wrappt ebenfalls den Inhalt) typolink (erzeugt einen Typolink) Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  45. 45. typofaktum unternehmenskommunikation Parse Data (Auswahl) prepend (Stellt ein Content Objekt vor das aktuelle Objekt) append (Stellt ein Content Objekt hinter das aktuelle Objekt) Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  46. 46. typofaktum unternehmenskommunikation Parse Data (dataWrap) dataWrap Der Inhalt wird nach geschweiften Klammern {} durchsucht und dieser Teil wird laut Datentyp getText (wie bei stdWrap „data“ ersetzt) page = PAGE page.10 = HTML page.10.value.dataWrap = Die Seite heisst {page:title} Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  47. 47. typofaktum unternehmenskommunikation Parse Data (insertData) insertWrap Der Inhalt wird wie bei einem datWrap behandelt page = PAGE page.10 = HTML page.10.value = Die ID der Seite ist: {TSFE:id} page.10.value.insertData = 1 Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  48. 48. typofaktum unternehmenskommunikation Weitere Informationen: TypoScript Reference TSref http://www.tsref.de TypoScript in 45 Minuten (DocTeam) http://wiki.typo3.org/index.php/De:TSref/45MinutesTypoScript Übersetzung der TSref http://wiki.typo3.org/De:TSref TypoScript Videotraining (video2brain) Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  49. 49. typofaktum unternehmenskommunikation Weitere Informationen: Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009
  50. 50. typofaktum unternehmenskommunikation Vielen Dank! Fragen??? Inspiring people to TypoScript II: stdWrap für Anfänger share Montag, 17. August 2009

×