Your SlideShare is downloading. ×
0
Robert Lemke          TypoScript 2.0          T3CON10 FrankfurtSamstag, 2. Oktober 2010
Robert Lemke                chief architect of TYPO3 Phoenix and FLOW3                co-founder of the TYPO3 Association ...
Design Goals                           Clear Purpose                           Consistency                           Objec...
TypoScript 2.0 is an object-oriented                                  view definition language                           (d...
TypoScript = { TypoScriptLine LineBreak }; New                                TypoScriptLine = ( Comment | ConfinementBlock...
CASE                           myPage = Page                           myPage.title = "Foo"                           foo....
Literals                           foo = Single quoted                           bar = "Double quoted"                    ...
Comments                           foo = Bar // <- heres a comment                           # baz = Quux (not active)    ...
Type Safe                           thePurpose = 42                           theSalary = 41.66                           ...
Assignments                           page = Page                           page < coolPage                           page...
Namespaces                           namespace: default = F3PlusPlusTypoScript                           page = Page      ...
Variables                           myText = Text                           myText.$name = "audience"                     ...
TypoScript 2.0   T3CON10 FrankfurtSamstag, 2. Oktober 2010
Nodes                           Node Tree instead of Page Tree                           Content Types               TypoS...
DEMO               TypoScript 2.0          T3CON10 FrankfurtSamstag, 2. Oktober 2010
And stdWrap?               TypoScript 2.0                  T3CON10 FrankfurtSamstag, 2. Oktober 2010
Processors                           myText = Text                           myText.text = "Hey you guys really rock and w...
Processors               TypoScript 2.0   T3CON10 FrankfurtSamstag, 2. Oktober 2010
Customising TypoScript                           Create new Content Types                           Tweak or override Flui...
Questions                Email:          robert@typo3.org                Blog:           http://robertlemke.de/blog       ...
Samstag, 2. Oktober 2010
Upcoming SlideShare
Loading in...5
×

TypoScript 2.0

2,636

Published on

TYPO3 Phoenix features a revised version of TYPO3&rsquo;s powerful object definition syntax. The main design goals were consistency, simplicity and extensibility. In this session you&rsquo;ll learn about the new object-oriented approach, the improved syntax, how you get full control over the rendered output and if stdWrap and friends made it to the next version. The examples from this talk will help you to experiment with your own TypoScripts on your own TYPO3 Phoenix installation.

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

No Downloads
Views
Total Views
2,636
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "TypoScript 2.0"

  1. 1. Robert Lemke TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  2. 2. Robert Lemke chief architect of TYPO3 Phoenix and FLOW3 co-founder of the TYPO3 Association 34 years old lives in Lübeck, Germany 1 wife, 1 daughter, 1 espresso machine likes drummingSamstag, 2. Oktober 2010
  3. 3. Design Goals Clear Purpose Consistency Object-Oriented Extensible TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  4. 4. TypoScript 2.0 is an object-oriented view definition language (dont use it for plain configuration anymore) TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  5. 5. TypoScript = { TypoScriptLine LineBreak }; New TypoScriptLine = ( Comment | ConfinementBlock | Declaration | ParseCondition | Ob ConfinementBlock = ObjectPath "{" LineBreak { TypoScriptLine } "}" ; Declaration = ( IncludeDeclaration | NamespaceDeclaration ); Syntax Comment = ( SingleLineComment | BlockComment ); ObjectDefinition = ObjectPath ValueOperation; IncludeDeclaration = "include" ":" "source" "=" DoubleQuote Resource DoubleQuote NamespaceDeclaration = "namespace" ":" NamespaceIdentifier "=" ObjectName; SingleLineComment = ( "#" | "//" ) { UnicodeCharacter }; BlockComment = "/*" { UnicodeCharacter | LineBreak } "*/"; ObjectPath = [ "." ] ObjectIdentifier { "." ObjectIdentifier } ( [ "." VariableName ] | [ "." VariableName = "$" Identifier; ValueOperation = ( ValueAssignment | ValueCopy | ValueReference | ValueUnset | ValueP ValueAssignment = "=" ( Literal | ObjectType | Constant ); ValueCopy = "<" ObjectPath; ValueReference = "=<" ObjectPath; ValueUnset = ">"; TypoScript 2.0 T3CON10 Frankfurt ValueProcessing = "<<" ArrayOffset "." [ ObjectName "->" ] MethodName "(" { MethoSamstag, 2. Oktober 2010
  6. 6. CASE myPage = Page myPage.title = "Foo" foo.color = RED TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  7. 7. Literals foo = Single quoted bar = "Double quoted" baz = "I use " and within a quoted literal" TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  8. 8. Comments foo = Bar // <- heres a comment # baz = Quux (not active) /* page = Page */ TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  9. 9. Type Safe thePurpose = 42 theSalary = 41.66 theTruth = FALSE TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  10. 10. Assignments page = Page page < coolPage page.title =< thirdPage.title page > TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  11. 11. Namespaces namespace: default = F3PlusPlusTypoScript page = Page TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  12. 12. Variables myText = Text myText.$name = "audience" myText.headline = "Hello $name!" TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  13. 13. TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  14. 14. Nodes Node Tree instead of Page Tree Content Types TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  15. 15. DEMO TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  16. 16. And stdWrap? TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  17. 17. Processors myText = Text myText.text = "Hey you guys really rock and what I always wanted to say myText.text << 2.crop(maximumCharacters = 20) myText.text << 1.wrap(<em>, </em>) TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  18. 18. Processors TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  19. 19. Customising TypoScript Create new Content Types Tweak or override Fluid Templates Create new TypoScript Object Types TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  20. 20. Questions Email: robert@typo3.org Blog: http://robertlemke.de/blog Twitter: @t3rob Slides: http://slideshare.net/rlmp TypoScript 2.0 T3CON10 FrankfurtSamstag, 2. Oktober 2010
  21. 21. Samstag, 2. Oktober 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×