SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Inspiring people to
Extensions für TYPO3 programmieren   share
Extensions für TYPO3
        programmieren
                 23.04.2009


Sebastian Kurfürst <sebastian@typo3.org>
             Christoph Dähne
- ACHTUNG -
TYPO3-Evangelist
Inspiring people to
Extensions für TYPO3 programmieren   share
Inhalt
   Einführung TYPO3
     Anlegen einer
       Extenson
           Fluid
      Anpassen der
       Templates
         Ausblick


                                     Inspiring people to
Extensions für TYPO3 programmieren   share
TYPO3
    Open Source Content Management System

    Aktuelle stabile Version: TYPO3 4.2.3

    60.000 bis 80.000 Downloads pro Monat

    mehr als 30.000 Nutzer auf typo3.org registriert

    Höchste Verbreitung im Mittelstand, jedoch auch Nutzung in
    großen Firmen: Dassault Systems, 3M, Sixt, Unesco, Unicef,
    WWF




                                                       Inspiring people to
Extensions für TYPO3 programmieren                     share
Die Geschichte von TYPO3
    seit 1998

    33 Kernentwickler

    bisher 500.000 Zeilen Code committed

    aktuelle Codebase: 300.000 Zeilen




                                           Inspiring people to
Extensions für TYPO3 programmieren         share
TYPO3


Content Management


         Inhalte                     Darstellung



                        Content
                       Management



                                           Inspiring people to
Extensions für TYPO3 programmieren         share
TYPO3


Was ist Content?
    Texte, Bilder




                      }
    News-Einträge

    Forums-Postings

    Blog-Postings
                               Extensions
    ...




                                            Inspiring people to
Extensions für TYPO3 programmieren          share
TYPO3


Extensions

                Extension            Extension

                        TYPO3 Core




                                                 Inspiring people to
Extensions für TYPO3 programmieren               share
© K. Tuck at http://www.sxc.hu/photo/1135191




Gewachsene Architektur
„We need a new framework!“




                                     Inspiring people to
Extensions für TYPO3 programmieren   share
Inspiring people to
Extensions für TYPO3 programmieren   share
TYPO3


TYPO3 v4 und v5


                                      TYPO3 v5
     TYPO3 v4                          FLOW3
     Extbase    Fluid                MVC DDD Fluid




                                          Inspiring people to
Extensions für TYPO3 programmieren        share
Grundlagen
                                                            Domain
                                               Model
                                                            Driven
                                               View
                                                            Design
                                               Controller




http://www.flickr.com/photos/seier/501370105/



                                                                     Inspiring people to
                Extensions für TYPO3 programmieren                   share
Model View Controller

         View


         Controller


         Domain Model (Domain Layer)



                                       Inspiring people to
Extensions für TYPO3 programmieren     share
http://www.flickr.com/photos/bunchofpants/106465356/sizes/o/




                                     Das Modell ist
                             eine kleine Abbildung
                                       der Realität.




                                        Inspiring people to
Extensions für TYPO3 programmieren      share
Der View
                                                             rendert Daten.




http://www.sxc.hu/photo/1157763




                                                                  Inspiring people to
                        Extensions für TYPO3 programmieren        share
Der Controller steuert
    den Datenfluss und löst
    Aktionen aus




http://www.sxc.hu/browse.phtml?f=view&id=956017




                                                                Inspiring people to
                           Extensions für TYPO3 programmieren   share
Request                    Response


                Controller

                                            View




                                 Model




                                                   Inspiring people to
Extensions für TYPO3 programmieren                 share
Inspiring people to
Extensions für TYPO3 programmieren   share
Domain-Driven Design




                                     Inspiring people to
Extensions für TYPO3 programmieren   share
Fokus auf das
  Wesentliche                   Domäne der
                                Anwendung
        das Framework
        kümmert sich
        um den Rest
http://www.sxc.hu/photo/59950
Beispiel


 Das Blog-Domänenmodell
PostRepository
                                      $post->getComments()
 $postRepository
   ->findAll()
                           Post

                               *
                       Comment


                                            Inspiring people to
 Extensions für TYPO3 programmieren         share
Zugangsdaten
    Frontend: http://141.76.66.180/platz_[platznummer]/

    Backend: http://141.76.66.180/platz_[platznummer]/typo3

    Dateien: http://141.76.66.180/webdav/platz_[platznummer]/
    typo3conf/ext/blog/

    User / Passwort: admin / t3workshop




                                                  Inspiring people to
Extensions für TYPO3 programmieren                share
Fluid
Model View Controller

         View


         Controller


         Domain Model (Domain Layer)



                                       Inspiring people to
Extensions für TYPO3 programmieren     share
Fluid


Variablen
    $this->view->assign(‘blogTitle’, $blog->getTitle());

    <h1>The name of the blog is: {blogTitle}</h1>




                                                    Inspiring people to
Extensions für TYPO3 programmieren                  share
Fluid


Object Accessors
    $this->view->assign(‘blog’, $blog);

    <h1>The name of the blog is: {blog.title}</h1>
                         Author: {blog.author}

    Getter werden automatisch aufgerufen




                                                     Inspiring people to
Extensions für TYPO3 programmieren                   share
Fluid


View Helper
<f:link.action action=“someAction“>
   Administration
</f:link>




                                     Inspiring people to
Extensions für TYPO3 programmieren   share
Fluid


Inline Notation
<f:format.nl2br>
  {post.text}
</f:format.nl2br>


{post.text -> f:format.nl2br()}


                                     Inspiring people to
Extensions für TYPO3 programmieren   share
Topictext




                                     Inspiring people to
Extensions für TYPO3 programmieren   share
Informationsquellen
    Folien auf slideshare.net/skurfuerst

    Extbase-Projektseite:
    http://forge.typo3.org/projects/show/typo3v4-mvc

    Fluid-Projektseite:
    http://forge.typo3.org/projects/show/package-fluid

    Extbase-Kickstarter:
    http://forge.typo3.org/projects/show/extension-
    extbase_kickstarter




                                                  Inspiring people to
Extensions für TYPO3 programmieren                share
Informationsquellen
    SVN: https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/

    Ausführliche Beispiel-Extension:
    https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/
    blog_example/

    Newsgroup / Mailing Liste: lists.typo3.org -
    typo3.projects.typo3v4mvc




                                                   Inspiring people to
Extensions für TYPO3 programmieren                 share
Buchempfehlungen




                                     Inspiring people to
Extensions für TYPO3 programmieren   share
Vielen Dank!

                                     Inspiring people to
Extensions für TYPO3 programmieren   share
inspiring people to share.

Weitere ähnliche Inhalte

Ähnlich wie Workshop Extension-Entwicklung mit Extbase und Fluid

Caretaker TYPO3 Monitoring
Caretaker TYPO3 MonitoringCaretaker TYPO3 Monitoring
Caretaker TYPO3 MonitoringPeter Kraume
 
TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013die.agilen GmbH
 
TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)die.agilen GmbH
 
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick LobacherExtbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick Lobacherdie.agilen GmbH
 
TYPO3camp Regensburg: TYPO3 6.0
TYPO3camp Regensburg: TYPO3 6.0TYPO3camp Regensburg: TYPO3 6.0
TYPO3camp Regensburg: TYPO3 6.0Oliver Hader
 
Elemente Websolutions - FLOW3 Überblick
Elemente Websolutions - FLOW3 ÜberblickElemente Websolutions - FLOW3 Überblick
Elemente Websolutions - FLOW3 Überblickelemente websolutions
 
Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0Alex Kellner
 
TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014die.agilen GmbH
 
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014die.agilen GmbH
 
TYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextTYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextPeter Linzenkirchner
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftJochen Rau
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)die.agilen GmbH
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenMokhtar Slama
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3incore IT Solutions
 
TYPO3 Performance - TYPO3camp HH 2017
TYPO3 Performance - TYPO3camp HH 2017TYPO3 Performance - TYPO3camp HH 2017
TYPO3 Performance - TYPO3camp HH 2017Marcus Schwemer
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimAlex Kellner
 
Knowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 CommunityKnowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 CommunityKarsten Dambekalns
 

Ähnlich wie Workshop Extension-Entwicklung mit Extbase und Fluid (20)

Caretaker TYPO3 Monitoring
Caretaker TYPO3 MonitoringCaretaker TYPO3 Monitoring
Caretaker TYPO3 Monitoring
 
TYPO3 Neos in der Praxis
TYPO3 Neos in der PraxisTYPO3 Neos in der Praxis
TYPO3 Neos in der Praxis
 
TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013TYPO3 Neos - ein technischer Überblick - DWX 2013
TYPO3 Neos - ein technischer Überblick - DWX 2013
 
TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)TYPO3 Neos - Next Generation CMS (IPC 2014)
TYPO3 Neos - Next Generation CMS (IPC 2014)
 
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick LobacherExtbase & Fluid Einführung - MTUG - Patrick Lobacher
Extbase & Fluid Einführung - MTUG - Patrick Lobacher
 
TYPO3camp Regensburg: TYPO3 6.0
TYPO3camp Regensburg: TYPO3 6.0TYPO3camp Regensburg: TYPO3 6.0
TYPO3camp Regensburg: TYPO3 6.0
 
Elemente Websolutions - FLOW3 Überblick
Elemente Websolutions - FLOW3 ÜberblickElemente Websolutions - FLOW3 Überblick
Elemente Websolutions - FLOW3 Überblick
 
Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0Alle Änderungen zu TYPO3 6.0
Alle Änderungen zu TYPO3 6.0
 
TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014TYPO3 Neos - Next Generation CMS - DWX 2014
TYPO3 Neos - Next Generation CMS - DWX 2014
 
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
TYPO3 Neos - Next Generation CMS - Webkongress Erlangen 2014
 
TYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredTextTYPO3 Dokumentation mit ReStructuredText
TYPO3 Dokumentation mit ReStructuredText
 
TYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der ZukunftTYPO3 5.0 - Der aktuelle Stand der Zukunft
TYPO3 5.0 - Der aktuelle Stand der Zukunft
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungen
 
elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09elemente websolutions - Zusammenfassung T3DD09
elemente websolutions - Zusammenfassung T3DD09
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3
 
TYPO3 Performance - TYPO3camp HH 2017
TYPO3 Performance - TYPO3camp HH 2017TYPO3 Performance - TYPO3camp HH 2017
TYPO3 Performance - TYPO3camp HH 2017
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
 
Knowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 CommunityKnowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 Community
 

Mehr von Sebastian Kurfürst

Mehr von Sebastian Kurfürst (6)

Fluid for Designers
Fluid for DesignersFluid for Designers
Fluid for Designers
 
Schulung Fluid Templating
Schulung Fluid TemplatingSchulung Fluid Templating
Schulung Fluid Templating
 
Fluid - Templating for professionals - T3CON09
Fluid - Templating for professionals - T3CON09Fluid - Templating for professionals - T3CON09
Fluid - Templating for professionals - T3CON09
 
Fluid - The Zen of Templating
Fluid - The Zen of TemplatingFluid - The Zen of Templating
Fluid - The Zen of Templating
 
MVC for TYPO3 4.3 with extbase
MVC for TYPO3 4.3 with extbaseMVC for TYPO3 4.3 with extbase
MVC for TYPO3 4.3 with extbase
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
 

Workshop Extension-Entwicklung mit Extbase und Fluid

  • 1. Inspiring people to Extensions für TYPO3 programmieren share
  • 2. Extensions für TYPO3 programmieren 23.04.2009 Sebastian Kurfürst <sebastian@typo3.org> Christoph Dähne
  • 4.
  • 5. Inspiring people to Extensions für TYPO3 programmieren share
  • 6. Inhalt Einführung TYPO3 Anlegen einer Extenson Fluid Anpassen der Templates Ausblick Inspiring people to Extensions für TYPO3 programmieren share
  • 7. TYPO3 Open Source Content Management System Aktuelle stabile Version: TYPO3 4.2.3 60.000 bis 80.000 Downloads pro Monat mehr als 30.000 Nutzer auf typo3.org registriert Höchste Verbreitung im Mittelstand, jedoch auch Nutzung in großen Firmen: Dassault Systems, 3M, Sixt, Unesco, Unicef, WWF Inspiring people to Extensions für TYPO3 programmieren share
  • 8. Die Geschichte von TYPO3 seit 1998 33 Kernentwickler bisher 500.000 Zeilen Code committed aktuelle Codebase: 300.000 Zeilen Inspiring people to Extensions für TYPO3 programmieren share
  • 9. TYPO3 Content Management Inhalte Darstellung Content Management Inspiring people to Extensions für TYPO3 programmieren share
  • 10. TYPO3 Was ist Content? Texte, Bilder } News-Einträge Forums-Postings Blog-Postings Extensions ... Inspiring people to Extensions für TYPO3 programmieren share
  • 11. TYPO3 Extensions Extension Extension TYPO3 Core Inspiring people to Extensions für TYPO3 programmieren share
  • 12.
  • 13. © K. Tuck at http://www.sxc.hu/photo/1135191 Gewachsene Architektur
  • 14. „We need a new framework!“ Inspiring people to Extensions für TYPO3 programmieren share
  • 15. Inspiring people to Extensions für TYPO3 programmieren share
  • 16. TYPO3 TYPO3 v4 und v5 TYPO3 v5 TYPO3 v4 FLOW3 Extbase Fluid MVC DDD Fluid Inspiring people to Extensions für TYPO3 programmieren share
  • 17. Grundlagen Domain Model Driven View Design Controller http://www.flickr.com/photos/seier/501370105/ Inspiring people to Extensions für TYPO3 programmieren share
  • 18. Model View Controller View Controller Domain Model (Domain Layer) Inspiring people to Extensions für TYPO3 programmieren share
  • 19. http://www.flickr.com/photos/bunchofpants/106465356/sizes/o/ Das Modell ist eine kleine Abbildung der Realität. Inspiring people to Extensions für TYPO3 programmieren share
  • 20. Der View rendert Daten. http://www.sxc.hu/photo/1157763 Inspiring people to Extensions für TYPO3 programmieren share
  • 21. Der Controller steuert den Datenfluss und löst Aktionen aus http://www.sxc.hu/browse.phtml?f=view&id=956017 Inspiring people to Extensions für TYPO3 programmieren share
  • 22. Request Response Controller View Model Inspiring people to Extensions für TYPO3 programmieren share
  • 23. Inspiring people to Extensions für TYPO3 programmieren share
  • 24. Domain-Driven Design Inspiring people to Extensions für TYPO3 programmieren share
  • 25. Fokus auf das Wesentliche Domäne der Anwendung das Framework kümmert sich um den Rest http://www.sxc.hu/photo/59950
  • 26. Beispiel Das Blog-Domänenmodell PostRepository $post->getComments() $postRepository ->findAll() Post * Comment Inspiring people to Extensions für TYPO3 programmieren share
  • 27. Zugangsdaten Frontend: http://141.76.66.180/platz_[platznummer]/ Backend: http://141.76.66.180/platz_[platznummer]/typo3 Dateien: http://141.76.66.180/webdav/platz_[platznummer]/ typo3conf/ext/blog/ User / Passwort: admin / t3workshop Inspiring people to Extensions für TYPO3 programmieren share
  • 28. Fluid
  • 29. Model View Controller View Controller Domain Model (Domain Layer) Inspiring people to Extensions für TYPO3 programmieren share
  • 30. Fluid Variablen $this->view->assign(‘blogTitle’, $blog->getTitle()); <h1>The name of the blog is: {blogTitle}</h1> Inspiring people to Extensions für TYPO3 programmieren share
  • 31. Fluid Object Accessors $this->view->assign(‘blog’, $blog); <h1>The name of the blog is: {blog.title}</h1> Author: {blog.author} Getter werden automatisch aufgerufen Inspiring people to Extensions für TYPO3 programmieren share
  • 32. Fluid View Helper <f:link.action action=“someAction“> Administration </f:link> Inspiring people to Extensions für TYPO3 programmieren share
  • 33. Fluid Inline Notation <f:format.nl2br> {post.text} </f:format.nl2br> {post.text -> f:format.nl2br()} Inspiring people to Extensions für TYPO3 programmieren share
  • 34. Topictext Inspiring people to Extensions für TYPO3 programmieren share
  • 35. Informationsquellen Folien auf slideshare.net/skurfuerst Extbase-Projektseite: http://forge.typo3.org/projects/show/typo3v4-mvc Fluid-Projektseite: http://forge.typo3.org/projects/show/package-fluid Extbase-Kickstarter: http://forge.typo3.org/projects/show/extension- extbase_kickstarter Inspiring people to Extensions für TYPO3 programmieren share
  • 36. Informationsquellen SVN: https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/ Ausführliche Beispiel-Extension: https://svn.typo3.org/TYPO3v4/CoreProjects/MVC/ blog_example/ Newsgroup / Mailing Liste: lists.typo3.org - typo3.projects.typo3v4mvc Inspiring people to Extensions für TYPO3 programmieren share
  • 37. Buchempfehlungen Inspiring people to Extensions für TYPO3 programmieren share
  • 38. Vielen Dank! Inspiring people to Extensions für TYPO3 programmieren share