SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
EXTREME FLUID
                              Next Generation Templating


                         TYPO3 Akademie 2011 - Marit AG
                                                   26.02.2011


                                  Patrick Lobacher (GF typovision*)


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011
ÜBER PATRICK LOBACHER
• Patrick Lobacher (geb. Schuster) - GF typovision*
• 40 Jahre alt, verheiratet, wohnhaft in München
• Autor von 6 Fachbüchern und 26 Fachartikeln
   zum Thema TYPO3 und Webentwicklung
• Certified TYPO3 Integrator seit 2009
• Mitglied in den TYPO3 Core-Teams:
   Certification & Documentation
• Mitveranstalter des TYPO3camp München
• Speaker auf nationalen und internationalen Kongressen
• Dozent für führende Schulungsinstitute und die MVHS
(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   2
ÜBER TYPOVISION*

•   Münchner Fullservice-Agentur für digitale Kommunikation
•   8 Mitarbeiter (+ 8 aus festem Freelancer Pool)
•   Geschäftsführer: Patrick Lobacher
•   Spezialisiert auf TYPO3 seit 8 Jahren (Extbase/Fluid seit 2009)


•   Agenturpräsentation unter: www.typovision.de/dieagentur


•   Über 120 TYPO3-Projekte jeglicher Größenordnung - für Kunden wie:




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   3
(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011
AGENDA

   01 Fluid Geschichte und Philosophie

   02 Fluid Basiskonzepte

   03 Fluid Standalone View

   04 FLUIDTEMPLATE

   06 Fluid Widgets

   07 Showcases

   08 Quellen

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   5
FLUID GESCHICHTE
                                             und Philosophie



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   6
01 FLUID GESCHICHTE

•   Templating Status Quo Anfang 2009

    // Template ermitteln
    $this->templateCode = $this->cObj->fileResource($conf['templateFile']);

    // Subpart auslesen
    $template['total'] =
    $this->cObj->getSubpart($this->templateCode,'###TEMPLATE###');

    // Marker füllen
    $markerArray['###MARKER1###'] = 'content for marker 1';
    $markerArray['###MARKER2###'] = 'content for marker 2';

    // Marker im Template ersetzen
    $content = $this->cObj->substituteMarkerArrayCached($template['total'],
    $markerArray);




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   7
01 FLUID GESCHICHTE

•   Nachteile der „Marker“-Methode
       •   Layout und Code wird vermischt

       •   Designer und Programmierer können nicht unabhängig
           voneinander arbeiten

       •   schlecht erweiterbar (neue Marker)

       •   (unnötig) komplizierte API-Funktionen

       •   keine Kontrollstrukturen im Template möglich

       •   Nur Strings und Arrays -> keine Objekte möglich

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   8
01 FLUID GESCHICHTE

•   Ziele von Fluid
       •   Einfache und elegante Template-Engine

       •   Unterstützung des Template-Autors
           (Autovervollständigung in Eclipse, ...)

       •   Einfache Erweiterbarkeit

       •   Intuitive Verwendung

       •   Verschiedene Ausgabeformate sollen möglich sein

       •   vollständige Objektorientierung

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   9
01 FLUID GESCHICHTE

•   Ziel von Fluid => View Logik im View




    Quelle: Rau/Kurfürst - Zukunftssichere Extensions mit Extbase und Fluid




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   10
FLUID BASISKONZEPTE
                                          und darüber hinaus



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   11
02 FLUID BASISKONZEPTE



           Object                              ViewHelper
       Accessors                                                                            Arrays
                                                  spezielle Tags
                                                   im Template,
        geben den Inhalt                           die komplexe                     ermöglichen die Übergabe
       von Variablen aus,                      Funktionalitäten wie                 von hierarchischen Werten
         die dem View                      Schleifen, Generierung von                     an ViewHelper
         zur Darstellung                       Links, Formulare, ...
      übergeben wurden                             bereitstellen




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011             12
02 FLUID BASISKONZEPTE

•   Object Accessor: Zugriff mittel {}


    Zuweisung an den View aus dem Controller:
    $this->view->assign('identifier', $value);



                                Wert                                                   Zugriff
     't3ak11'                                                             {identifier}
     array('t3ak11')                                                      {identifier.0}
     array('name' => 't3ak11')                                            {identifier.name}
     event Object ( [name] => T3AK11 )                                    {identifier.name}


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   13
02 FLUID BASISKONZEPTE

•   ViewHelper: PHP-Klasse zur Realisierung komplexer Funktionalitäten
    <h1>{blogTitle}</h1>
    <f:if condition="{blogPosts}">
       <f:then>
          <ul>
             <f:for each="{blogPosts}" as="post">
                 <li>{post.title}</li>
             </f:for>
          </ul>
       </f:then>
       <f:else>
          <p>Keine Posts vorhanden!<p>
       </f:else>
    </f:if>

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   14
02 FLUID BASISKONZEPTE

•   65 mit Fluid mitgelieferte ViewHelper
    •   Formatierung (format.xxx)
    •   Übersetzung (translate)
    •   Formulargenerierung (form.xxx)
    •   Linkerzeugung (link.xxx und uri.xxx)
    •   Backend (be.buttons.xxx, be.tableList, be.actionMenu, ...)
    •   TypoScript (cObject)
    •   Kontrollstrukturen (if, then, else, for, groupedFor, cycle, ...)
    •   Layouts (render, section, ...)
    •   Misc (base, count, debug, image, ...)

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   15
02 FLUID BASISKONZEPTE

•   Es existieren viele ViewHelper von anderen
    •   format.strftime (Formatiert TS oder Date-Object mit strftime)
    •   include.css (CSS-Datei als HeaderData)
    •   include.js ( JavaScript-Datei als HeaderData)
    •   include.data (HeaderData allgemein)
    •   fileicon (Zeigt Icon passend zur Dateiendung)
    •   format.age (Zeigt das Alter in h,min,sec eine DateObjects)
    •   format.stripTags (strip_tag Funktion von PHP)
    •   link.telephoneNumber (Telefonlink für Smartphones)
    •   u.s.w.

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   16
02 FLUID BASISKONZEPTE

•   Eigene ViewHelper schreiben
       •   Namen ausdenken
       •   Datei: NamenViewHelper.php
       •   ins Verzeichnis Classes/ViewHelpers/ der Extension
       •   Klasse:
           class Tx_[ExtName]_ViewHelpers_NamenViewHelper
           extends
           Tx_Fluid_Core_ViewHelper_AbstractViewHelper oder
           Tx_Fluid_Core_ViewHelper_TagBasedViewHelper
       •   Methode: render()
       •   {namespace foo=Tx_[Extname]_ViewHelpers}

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   17
02 FLUID BASISKONZEPTE

•   Arrays als flexible Datenstrukturen
       •   Arrays werden verwendet, um ViewHelpern eine variable
           Anzahl an Argumenten zu übergeben
       • <f:link.action controller="Post"
         action="show" arguments="{post: currentPost,
         blog:blog}">Show current post</f:link.action>
       • { key1: 'Hello',
            key2: "World",
            key3: 20,
            key4: blog,
            key5: blog.title,
            key6: '{firstname} {lastname}'
         }
(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   18
02 FLUID BASISKONZEPTE


•   Inline Syntax
       •   <f:format.padding padLength="40">
              <f:format.date format="Y-m-d">
                 {post.date}
              </f:format.date>
           </f:format.padding>

           {post.date -> f:format.date(format: 'Y-m-d') -> f:format.padding
           (padLength: 40)}

       •   <link rel="stylesheet" ref="{f:uri.resource(path:'style.css')}" />

•   Zugriff auf TypoScript Optionen mittels {settings}
       •   plugin.tx_[lowercasedextensionname].settings
       •   {post.date -> f:format.date(format: 'Y-m-d') -> f:format.padding(padLength: 40)}



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   19
FLUID STANDALONE VIEW
                                           Fluid ohne Extbase



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   20
03 FLUID STANDALONE VIEW

•   Fluid Standalone View ermöglicht die Nutzung von Fluid
    ohne Extbase
•   Früher (bis TYPO3 4.4 / Extbase/Fluid 1.2)
    $view = t3lib_div::makeInstance('Tx_Fluid_View_TemplateView');
    $controllerContext = t3lib_div::makeInstance
    ('Tx_Extbase_MVC_Controller_ControllerContext');
    $controllerContext->setRequest(t3lib_div::makeInstance
    ('Tx_Extbase_MVC_Request'));
    $view->setControllerContext($controllerContext);
    $template = t3lib_extMgm::extPath($this->extKey) . 'res/
    marker_fluid.htm';
    $view->setTemplatePathAndFilename($template);
    $view->assign('names', $names);
    $content = $view->render();


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   21
03 FLUID STANDALONE VIEW

•   Fluid Standalone View ermöglicht die Nutzung von Fluid
    ohne Extbase

•   Einsatz in klassischen Extensions, Emails aus Extbase,

•   Heute (TYPO3 >= 4.5 / Extbase/Fluid >= 1.3)

    $view = t3lib_div::makeInstance('Tx_Fluid_View_StandaloneView');
    $view->setTemplatePathAndFilename($templatePathAndFilename);
    $view->setLayoutRootPath($layoutRootPath);
    $view->setFormat($format);
    $view->assign('key', $data);
    $content = $view->render();


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   22
03 FLUID STANDALONE VIEW
                                   Methode                                       Beschreibung
set get                             Format                                     Format (z.B. html)
                                                                          Gibt das Request-Objekt
        get                        Request
                                                                                        zurück

set get TemplatePathAndFilename                                                   Template-Pfad

set                         TemplateSource                                      Template-Source
set get                     LayoutRootPath                                          Layout-Pfad
set get                    PartialRootPath                                          Partial-Pfad
                                                                              Prüfung auf valides
                               hasTemplate
                                                                                      Template

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   23
FLUIDTEMPLATE
                          Fluid Templating für das Seitentemplate



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   24
04 FLUIDTEMPLATE

•   Fluid bisher nur in Extensions nutzbar

•   Seit TYPO3 4.5 gibt es das cObject FLUIDTEMPLATE

•   Damit ist eine Nutzung von Fluid auch im
    Seitentemplate via TypoScript möglich

•   Basiert technisch auf dem „Fluid Standalone View“

•   Klasse:
    typo3/sysext/cms/tslib/
    class.tslib_content_fluidtemplate.php

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   25
FLUIDTEMPLATE
    •   Klassisch - TEMPLATE:
        page = PAGE
        page.10 = TEMPLATE
        page.10 {
            template = FILE
            template.file = fileadmin/tpl_main.html
            workOnSubpart = DOCUMENT
            marks {
                CONTENT < styles.content.get

•   NEU - FLUIDTEMPLATE:
    page = PAGE
    page.10 = FLUIDTEMPLATE
    page.10 {
       file = fileadmin/tpl_main.html
       variables {
            CONTENT < styles.content.get

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   26
04 FLUIDTEMPLATE

•   Zugriff auf alle Seiteneigenschaften:

    Sie befinden sich auf der Seite mit der UID {data.uid}
    und dem Titel {data.title}

    <f:if condition="{data.layout}==1">
    <f:then>
       Layout-Feld steht auf dem Wert "Layout 1"
    </f:then>
    <f:else>
       Layout-Feld steht NICHT auf dem Wert "Layout 1"
    </f:else>
    </f:if>

    Alle Eigenschaften: <f:debug>{data}</f:debug>


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   27
04 FLUIDTEMPLATE

•   Einfügen eines TypoScript Pfades - hier ein Breadcrumb-Menü

    <f:cObject typoscriptObjectPath="lib.breadcrumb" />


•   Zugehöriges TypoScript

    lib.breadcrumb = HMENU
    lib.breadcrumb {
       special = rootline
       special.range = 0|-1
       1 = TMENU
       1 {
           NO.linkWrap = | >>
           CUR = 1
           CUR.doNotLinkIt = 1
       }
    }


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   28
04 FLUIDTEMPLATE

•   Übergabe von statischen Daten an TypoScript

    20 + 22 =
    <f:cObject typoscriptObjectPath="lib.math" data="20+22" />




•   Zugehöriges TypoScript

    lib.math = TEXT
    lib.math {
       current = 1
       prioriCalc = 1
    }




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   29
04 FLUIDTEMPLATE

•   Übergabe von dynamischen Daten an TypoScript
    <f:cObject typoscriptObjectPath="lib.renderTitle">
    {blog}
    </f:cObject>


•   Zugehöriges TypoScript                           {blog}        •   Zugehöriges TypoScript
    lib.renderTitle = IMAGE                                            lib.renderTitle = IMAGE
    lib.renderTitle {                                                  lib.renderTitle {
       file = GIFBUILDER                                                  file = GIFBUILDER
       file {                                      {blog.title}           file {
          XY = 300,30                                                        XY = 300,30
          backColor = #cc0000                                                backColor = #cc0000
          10 = TEXT                                                          10 = TEXT
          10.text.field = title                                              10.text.current =1
          10.fontColor = #ffffff                                             10.fontColor = #ffffff
          10.offset = 10, 25                                                 10.offset = 10, 25
       }                                                                  }
    }                                                                  }

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   30
FLUID WIDGETS
                               Ein ViewHelper im ViewHelper :-)



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   31
06 FLUID WIDGETS


•   Einige
    Funktionalitäten
    sind nur schwer
    über ViewHelper
    abbildbar

•   Dafür wurden
    Widgets
    eingeführt




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   32
06 FLUID WIDGETS


•   Widgets

    •   werden wie ViewHelper im View eingesetzt

    •   haben einen eigenen Controller
        (und damit eigene Actions)

    •   und ein eigenes Template




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   33
06 FLUID WIDGETS

•   Pager

    •   Controller holt aus dem Repository x Datensätze und
        übergibt nur diese dem View

    •   View stellt x Datensätze dar

    •   Im View Action-Links zu den nächsten x Datensätzen

    •   ...

    •   => Problem: Für einen „einfachen“ Pager muss die
        Extension individuell verändert werden
(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   34
06 FLUID WIDGETS

•   Lösung: Paginate Widget
    •   <f:widget.paginate objects="{blogs}" as="paginatedBlogs"
        configuration="{itemsPerPage: 3, insertAbove: 1}">
           <f:for each="{paginatedBlogs}" as="blog">
              {blog.title}
           </f:for>
        </f:widget.paginate>

    •   Controller zum Aufbau der Paginierung
        (Ändert das Query-Objekt)
    •   Template zur Darstellung der Paginierung
    •   => Widgets sind damit unabhängig von der Extension
        obwohl Sie eventuell in deren Objekte eingreifen
(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   35
06 FLUID WIDGETS

•   Eigene Widgets schreiben
    •   Name ausdenken [Vhname] => <ns:widget.vhname>...
    •   Folgende Klasse in Classes/Viewhelpers/Widgets/
        class Tx_Fluid_ViewHelpers_Widget_[Vhname]ViewHelper extends
        Tx_Fluid_Core_Widget_AbstractWidgetViewHelper { }
    •   Methode render() enthält return $this->initiateSubRequest();
    •   Folgende Klasse in Classes/Viewhelpers/Widgets/Controller/
        class Tx_Fluid_ViewHelpers_Widget_Controller_[Vhname]Controller
        extends Tx_Fluid_Core_Widget_AbstractWidgetController { }
    •   Widget-Controller verhält sich wie richtiger Controller (initializeAction,
        indexAction, ...)
    •   Template in Resources/Private/Templates/ViewHelpers/Widget/[Vhname]
    •   Navigation über interne Widget-Links <f:widget.link action=“index“>

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   36
FLUID BEISPIELE
                                                 Showcases



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   37
07 FLUID BEISPIELE

•   Daten für den
    Menülayer werden
    gruppiert
    dargestellt (nach
    der Art wie
    „Feldebene“)

•   Dafür verwendet:
    groupedFor
    ViewHelper




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   38
07 FLUID BEISPIELE

                                                                                •   Rahmen und
                                                                                    Drehung des oberen
                                                                                    Bildes per cObject
                                                                                    Viewhelper

                                                                                •   Mail-Template per
                                                                                    Fluid Standalone
                                                                                    View




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011      39
07 FLUID BEISPIELE

•   Model: Order

•   Eigenschaft:
    „contact“ ist
    Mapping auf
    tt_address

•   property=
    “contact.phone“

•   Dropdowns für
    Geburtstag aus
    ViewHelper


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   40
07 FLUID BEISPIELE



                                                                             •   Anzeige der POIs
                                                                                 über einen
                                                                                 eigenen
                                                                                 GoogleMaps
                                                                                 ViewHelper




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   41
QUELLEN
                                       Fluid bis zum Abwinken



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   42
08 QUELLEN




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   43
08 QUELLEN


                                               •   Artikel: Seitentemplates mit Fluid

                                                   ACHTUNG DRUCKFEHLERTEUFEL:


                                                   Seite 152 / Listing 4

                                               •   page = PAGE
                                                   page.10 = FLUIDTEMPLATE
                                                   page.10 {
                                                      file = fileadmin/tpl_main.html
                                                      variables {
                                                         CONTENT < styles.content.get



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   44
08 QUELLEN

•   Forge:                  http://forge.typo3.org/projects/show/package-fluid

•   GIT:                    git clone http://git.typo3.org/FLOW3/Packages/Fluid.git

•   Issue-Tracker:          http://forge.typo3.org/projects/package-fluid/ issues

•   Mailingliste:           http://lists.typo3.org/cgi-bin/mailman/listinfo/
                            typo3-project-typo3v4mvc

•   Deutsches Extbase & Fluid Tutorial von Mittwald:
    http://www.mittwald.de/fileadmin/pdf/extbase_fluid.pdf



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   45
08 QUELLEN
                                                                           Extbase / Fluid
                                                                           Cheatsheet 1.01




         19.06.2010
         bis Extbase/Fluid 1.2
          http://www.typovision.de/fileadmin/slides/ExtbaseFluidCheatSheetTypovision.pdf

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   46
08 QUELLEN
                                                                           Extbase / Fluid
                                                                           Cheatsheet 1.01
                                                 Don‘t
                                                    try
                                       this at home!
                                            (cause its
                                           outdated)
         19.06.2010
         bis Extbase/Fluid 1.2
          http://www.typovision.de/fileadmin/slides/ExtbaseFluidCheatSheetTypovision.pdf

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   46
08 QUELLEN




(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   47
08 QUELLEN
                                                                                              Extbase / Fluid
                                                                                            Cheatsheet 2.00




22.02.2011
bis Extbase/Fluid 1.3
          http://www.typovision.de/fileadmin/slides/ExtbaseFluidCheatSheetTypovision.pdf

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011        47
SLIDES:
    http://www.typovision.de/T3AK11_Fluid_extreme_typovision.pdf




                               VIELEN DANK!
                                                   Fragen??



(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   48
KONTAKT - KLASSISCH

   Adresse:

   typovision* - agentur für digitale kommunikation

   Belfortstr. 8
   81667 München

   Fon:               +49-89-18 92 08 70
   Fax:               +49-89-18 92 08 69
   Email:             info@typovision.de
   Web:               http://www.typovision.de

(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   49
KONTAKT - SOCIAL CHANNELS


   Twitter:                 www.twitter.com/_typovision_
                            www.twitter.com/PatrickLobacher

   Facebook:                www.facebook.com/typovision

   XING:                    www.xing.com/profile/Patrick_Lobacher

   Slideshare:              www.slideshare.net/plobacher

   Amazon:                  www.amazon.de/Patrick-Lobacher/e/B0045AQVEA


(c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011   50

Weitere ähnliche Inhalte

Andere mochten auch

Vidapremium Magazine 26
Vidapremium Magazine 26Vidapremium Magazine 26
Vidapremium Magazine 26rymdesign
 
Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...
Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...
Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...Maa- ja metsätalousministeriö
 
preparados para el cambio de primaria a secundaria
 preparados para el cambio de primaria a secundaria preparados para el cambio de primaria a secundaria
preparados para el cambio de primaria a secundariaFfer Ramírez
 
Curso Eneagrama FERNANDO URIBE SAAVEDRA
Curso Eneagrama FERNANDO URIBE SAAVEDRACurso Eneagrama FERNANDO URIBE SAAVEDRA
Curso Eneagrama FERNANDO URIBE SAAVEDRAFercho Uribe
 
TRABAJO DE WORD
TRABAJO DE WORDTRABAJO DE WORD
TRABAJO DE WORDLeidy Psd
 
Slides Profil Sekolah SMP Al Falah Assalam Waru Sidoarjo
Slides Profil Sekolah SMP Al Falah Assalam Waru SidoarjoSlides Profil Sekolah SMP Al Falah Assalam Waru Sidoarjo
Slides Profil Sekolah SMP Al Falah Assalam Waru SidoarjoHerry Supriyanto
 
[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING
[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING
[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETINGYann Gourvennec
 
Lombardi_EAS2015_Florence
Lombardi_EAS2015_FlorenceLombardi_EAS2015_Florence
Lombardi_EAS2015_FlorencePaolo Lombardi
 
Vigilancia sanitaria
Vigilancia sanitaria Vigilancia sanitaria
Vigilancia sanitaria valevcam
 

Andere mochten auch (17)

Onesixone - Spanish Luxury Leather Accessories
Onesixone - Spanish Luxury Leather AccessoriesOnesixone - Spanish Luxury Leather Accessories
Onesixone - Spanish Luxury Leather Accessories
 
Hª de la música Idade Antiga
Hª de la música   Idade AntigaHª de la música   Idade Antiga
Hª de la música Idade Antiga
 
Vidapremium Magazine 26
Vidapremium Magazine 26Vidapremium Magazine 26
Vidapremium Magazine 26
 
Hillsong
HillsongHillsong
Hillsong
 
Carbohidratos
CarbohidratosCarbohidratos
Carbohidratos
 
Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...
Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...
Maarja Kristian, Veterinary and Food Board, Estonia, African swine fever in E...
 
Attracting prospects and distributors with e mail camapign
Attracting prospects and distributors with e mail camapignAttracting prospects and distributors with e mail camapign
Attracting prospects and distributors with e mail camapign
 
preparados para el cambio de primaria a secundaria
 preparados para el cambio de primaria a secundaria preparados para el cambio de primaria a secundaria
preparados para el cambio de primaria a secundaria
 
Curso Eneagrama FERNANDO URIBE SAAVEDRA
Curso Eneagrama FERNANDO URIBE SAAVEDRACurso Eneagrama FERNANDO URIBE SAAVEDRA
Curso Eneagrama FERNANDO URIBE SAAVEDRA
 
Fascinating Nature
Fascinating NatureFascinating Nature
Fascinating Nature
 
Gestor de contenidos
Gestor de contenidosGestor de contenidos
Gestor de contenidos
 
TRABAJO DE WORD
TRABAJO DE WORDTRABAJO DE WORD
TRABAJO DE WORD
 
Slides Profil Sekolah SMP Al Falah Assalam Waru Sidoarjo
Slides Profil Sekolah SMP Al Falah Assalam Waru SidoarjoSlides Profil Sekolah SMP Al Falah Assalam Waru Sidoarjo
Slides Profil Sekolah SMP Al Falah Assalam Waru Sidoarjo
 
[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING
[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING
[En] THE TRIBALISATION OF SOCIETY AND ITS IMPACT ON THE CONDUCT OF MARKETING
 
Presentación neobatllismo
Presentación neobatllismoPresentación neobatllismo
Presentación neobatllismo
 
Lombardi_EAS2015_Florence
Lombardi_EAS2015_FlorenceLombardi_EAS2015_Florence
Lombardi_EAS2015_Florence
 
Vigilancia sanitaria
Vigilancia sanitaria Vigilancia sanitaria
Vigilancia sanitaria
 

Ähnlich wie Extreme Fluid - Status Quo der modernen Templating Engine

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
 
Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführungdie.agilen GmbH
 
mm_forum 2.0
mm_forum 2.0mm_forum 2.0
mm_forum 2.0mhelmich
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhonedie.agilen GmbH
 
Typo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im ÜberblickTypo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im Überblickdie.agilen GmbH
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenSpeedPartner GmbH
 
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012Christof Rodejohann
 
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
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
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
 
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...Cristina Vidu
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkdie.agilen GmbH
 
HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...
HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...
HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...Karionis
 
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerkTYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerkdie.agilen GmbH
 
FCE ohne TemplaVoila
FCE ohne TemplaVoilaFCE ohne TemplaVoila
FCE ohne TemplaVoilaTobias Liegl
 
HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009Felix Sasaki
 
chapter zürich rpa best practices
chapter zürich rpa best practiceschapter zürich rpa best practices
chapter zürich rpa best practicesCristina Vidu
 
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011die.agilen GmbH
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
 

Ähnlich wie Extreme Fluid - Status Quo der modernen Templating Engine (20)

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
 
Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführung
 
mm_forum 2.0
mm_forum 2.0mm_forum 2.0
mm_forum 2.0
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
 
Typo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im ÜberblickTypo3 4.3 Die Neuerungen im Überblick
Typo3 4.3 Die Neuerungen im Überblick
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
 
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
 
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
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
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
 
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
Developer Best Practices (Robotic Enterprise Framework REF) – Anwendung und d...
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
 
HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...
HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...
HTML5 im Überblick - semantisches HTML, Geolocation, Offline-Webanwendungen, ...
 
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerkTYPO3 CMS 7.4 - Die Neuerungen - pluswerk
TYPO3 CMS 7.4 - Die Neuerungen - pluswerk
 
FCE ohne TemplaVoila
FCE ohne TemplaVoilaFCE ohne TemplaVoila
FCE ohne TemplaVoila
 
HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009HTML5 - presentation at W3C-Tag 2009
HTML5 - presentation at W3C-Tag 2009
 
chapter zürich rpa best practices
chapter zürich rpa best practiceschapter zürich rpa best practices
chapter zürich rpa best practices
 
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
 
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichFMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang Wunderlich
 

Mehr von die.agilen GmbH

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...die.agilen GmbH
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017die.agilen GmbH
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...die.agilen GmbH
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...die.agilen GmbH
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRdie.agilen GmbH
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...die.agilen GmbH
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkdie.agilen GmbH
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlindie.agilen GmbH
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationdie.agilen GmbH
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...die.agilen GmbH
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...die.agilen GmbH
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerkdie.agilen GmbH
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerkdie.agilen GmbH
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...die.agilen GmbH
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...die.agilen GmbH
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkdie.agilen GmbH
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...die.agilen GmbH
 
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkTYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkdie.agilen GmbH
 

Mehr von die.agilen GmbH (20)

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKR
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical application
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerk
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
 
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkTYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
 

Extreme Fluid - Status Quo der modernen Templating Engine

  • 1. EXTREME FLUID Next Generation Templating TYPO3 Akademie 2011 - Marit AG 26.02.2011 Patrick Lobacher (GF typovision*) (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011
  • 2. ÜBER PATRICK LOBACHER • Patrick Lobacher (geb. Schuster) - GF typovision* • 40 Jahre alt, verheiratet, wohnhaft in München • Autor von 6 Fachbüchern und 26 Fachartikeln zum Thema TYPO3 und Webentwicklung • Certified TYPO3 Integrator seit 2009 • Mitglied in den TYPO3 Core-Teams: Certification & Documentation • Mitveranstalter des TYPO3camp München • Speaker auf nationalen und internationalen Kongressen • Dozent für führende Schulungsinstitute und die MVHS (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 2
  • 3. ÜBER TYPOVISION* • Münchner Fullservice-Agentur für digitale Kommunikation • 8 Mitarbeiter (+ 8 aus festem Freelancer Pool) • Geschäftsführer: Patrick Lobacher • Spezialisiert auf TYPO3 seit 8 Jahren (Extbase/Fluid seit 2009) • Agenturpräsentation unter: www.typovision.de/dieagentur • Über 120 TYPO3-Projekte jeglicher Größenordnung - für Kunden wie: (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 3
  • 4. (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011
  • 5. AGENDA 01 Fluid Geschichte und Philosophie 02 Fluid Basiskonzepte 03 Fluid Standalone View 04 FLUIDTEMPLATE 06 Fluid Widgets 07 Showcases 08 Quellen (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 5
  • 6. FLUID GESCHICHTE und Philosophie (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 6
  • 7. 01 FLUID GESCHICHTE • Templating Status Quo Anfang 2009 // Template ermitteln $this->templateCode = $this->cObj->fileResource($conf['templateFile']); // Subpart auslesen $template['total'] = $this->cObj->getSubpart($this->templateCode,'###TEMPLATE###'); // Marker füllen $markerArray['###MARKER1###'] = 'content for marker 1'; $markerArray['###MARKER2###'] = 'content for marker 2'; // Marker im Template ersetzen $content = $this->cObj->substituteMarkerArrayCached($template['total'], $markerArray); (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 7
  • 8. 01 FLUID GESCHICHTE • Nachteile der „Marker“-Methode • Layout und Code wird vermischt • Designer und Programmierer können nicht unabhängig voneinander arbeiten • schlecht erweiterbar (neue Marker) • (unnötig) komplizierte API-Funktionen • keine Kontrollstrukturen im Template möglich • Nur Strings und Arrays -> keine Objekte möglich (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 8
  • 9. 01 FLUID GESCHICHTE • Ziele von Fluid • Einfache und elegante Template-Engine • Unterstützung des Template-Autors (Autovervollständigung in Eclipse, ...) • Einfache Erweiterbarkeit • Intuitive Verwendung • Verschiedene Ausgabeformate sollen möglich sein • vollständige Objektorientierung (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 9
  • 10. 01 FLUID GESCHICHTE • Ziel von Fluid => View Logik im View Quelle: Rau/Kurfürst - Zukunftssichere Extensions mit Extbase und Fluid (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 10
  • 11. FLUID BASISKONZEPTE und darüber hinaus (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 11
  • 12. 02 FLUID BASISKONZEPTE Object ViewHelper Accessors Arrays spezielle Tags im Template, geben den Inhalt die komplexe ermöglichen die Übergabe von Variablen aus, Funktionalitäten wie von hierarchischen Werten die dem View Schleifen, Generierung von an ViewHelper zur Darstellung Links, Formulare, ... übergeben wurden bereitstellen (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 12
  • 13. 02 FLUID BASISKONZEPTE • Object Accessor: Zugriff mittel {} Zuweisung an den View aus dem Controller: $this->view->assign('identifier', $value); Wert Zugriff 't3ak11' {identifier} array('t3ak11') {identifier.0} array('name' => 't3ak11') {identifier.name} event Object ( [name] => T3AK11 ) {identifier.name} (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 13
  • 14. 02 FLUID BASISKONZEPTE • ViewHelper: PHP-Klasse zur Realisierung komplexer Funktionalitäten <h1>{blogTitle}</h1> <f:if condition="{blogPosts}"> <f:then> <ul> <f:for each="{blogPosts}" as="post"> <li>{post.title}</li> </f:for> </ul> </f:then> <f:else> <p>Keine Posts vorhanden!<p> </f:else> </f:if> (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 14
  • 15. 02 FLUID BASISKONZEPTE • 65 mit Fluid mitgelieferte ViewHelper • Formatierung (format.xxx) • Übersetzung (translate) • Formulargenerierung (form.xxx) • Linkerzeugung (link.xxx und uri.xxx) • Backend (be.buttons.xxx, be.tableList, be.actionMenu, ...) • TypoScript (cObject) • Kontrollstrukturen (if, then, else, for, groupedFor, cycle, ...) • Layouts (render, section, ...) • Misc (base, count, debug, image, ...) (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 15
  • 16. 02 FLUID BASISKONZEPTE • Es existieren viele ViewHelper von anderen • format.strftime (Formatiert TS oder Date-Object mit strftime) • include.css (CSS-Datei als HeaderData) • include.js ( JavaScript-Datei als HeaderData) • include.data (HeaderData allgemein) • fileicon (Zeigt Icon passend zur Dateiendung) • format.age (Zeigt das Alter in h,min,sec eine DateObjects) • format.stripTags (strip_tag Funktion von PHP) • link.telephoneNumber (Telefonlink für Smartphones) • u.s.w. (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 16
  • 17. 02 FLUID BASISKONZEPTE • Eigene ViewHelper schreiben • Namen ausdenken • Datei: NamenViewHelper.php • ins Verzeichnis Classes/ViewHelpers/ der Extension • Klasse: class Tx_[ExtName]_ViewHelpers_NamenViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper oder Tx_Fluid_Core_ViewHelper_TagBasedViewHelper • Methode: render() • {namespace foo=Tx_[Extname]_ViewHelpers} (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 17
  • 18. 02 FLUID BASISKONZEPTE • Arrays als flexible Datenstrukturen • Arrays werden verwendet, um ViewHelpern eine variable Anzahl an Argumenten zu übergeben • <f:link.action controller="Post" action="show" arguments="{post: currentPost, blog:blog}">Show current post</f:link.action> • { key1: 'Hello', key2: "World", key3: 20, key4: blog, key5: blog.title, key6: '{firstname} {lastname}' } (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 18
  • 19. 02 FLUID BASISKONZEPTE • Inline Syntax • <f:format.padding padLength="40"> <f:format.date format="Y-m-d"> {post.date} </f:format.date> </f:format.padding> {post.date -> f:format.date(format: 'Y-m-d') -> f:format.padding (padLength: 40)} • <link rel="stylesheet" ref="{f:uri.resource(path:'style.css')}" /> • Zugriff auf TypoScript Optionen mittels {settings} • plugin.tx_[lowercasedextensionname].settings • {post.date -> f:format.date(format: 'Y-m-d') -> f:format.padding(padLength: 40)} (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 19
  • 20. FLUID STANDALONE VIEW Fluid ohne Extbase (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 20
  • 21. 03 FLUID STANDALONE VIEW • Fluid Standalone View ermöglicht die Nutzung von Fluid ohne Extbase • Früher (bis TYPO3 4.4 / Extbase/Fluid 1.2) $view = t3lib_div::makeInstance('Tx_Fluid_View_TemplateView'); $controllerContext = t3lib_div::makeInstance ('Tx_Extbase_MVC_Controller_ControllerContext'); $controllerContext->setRequest(t3lib_div::makeInstance ('Tx_Extbase_MVC_Request')); $view->setControllerContext($controllerContext); $template = t3lib_extMgm::extPath($this->extKey) . 'res/ marker_fluid.htm'; $view->setTemplatePathAndFilename($template); $view->assign('names', $names); $content = $view->render(); (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 21
  • 22. 03 FLUID STANDALONE VIEW • Fluid Standalone View ermöglicht die Nutzung von Fluid ohne Extbase • Einsatz in klassischen Extensions, Emails aus Extbase, • Heute (TYPO3 >= 4.5 / Extbase/Fluid >= 1.3) $view = t3lib_div::makeInstance('Tx_Fluid_View_StandaloneView'); $view->setTemplatePathAndFilename($templatePathAndFilename); $view->setLayoutRootPath($layoutRootPath); $view->setFormat($format); $view->assign('key', $data); $content = $view->render(); (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 22
  • 23. 03 FLUID STANDALONE VIEW Methode Beschreibung set get Format Format (z.B. html) Gibt das Request-Objekt get Request zurück set get TemplatePathAndFilename Template-Pfad set TemplateSource Template-Source set get LayoutRootPath Layout-Pfad set get PartialRootPath Partial-Pfad Prüfung auf valides hasTemplate Template (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 23
  • 24. FLUIDTEMPLATE Fluid Templating für das Seitentemplate (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 24
  • 25. 04 FLUIDTEMPLATE • Fluid bisher nur in Extensions nutzbar • Seit TYPO3 4.5 gibt es das cObject FLUIDTEMPLATE • Damit ist eine Nutzung von Fluid auch im Seitentemplate via TypoScript möglich • Basiert technisch auf dem „Fluid Standalone View“ • Klasse: typo3/sysext/cms/tslib/ class.tslib_content_fluidtemplate.php (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 25
  • 26. FLUIDTEMPLATE • Klassisch - TEMPLATE: page = PAGE page.10 = TEMPLATE page.10 { template = FILE template.file = fileadmin/tpl_main.html workOnSubpart = DOCUMENT marks { CONTENT < styles.content.get • NEU - FLUIDTEMPLATE: page = PAGE page.10 = FLUIDTEMPLATE page.10 { file = fileadmin/tpl_main.html variables { CONTENT < styles.content.get (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 26
  • 27. 04 FLUIDTEMPLATE • Zugriff auf alle Seiteneigenschaften: Sie befinden sich auf der Seite mit der UID {data.uid} und dem Titel {data.title} <f:if condition="{data.layout}==1"> <f:then> Layout-Feld steht auf dem Wert "Layout 1" </f:then> <f:else> Layout-Feld steht NICHT auf dem Wert "Layout 1" </f:else> </f:if> Alle Eigenschaften: <f:debug>{data}</f:debug> (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 27
  • 28. 04 FLUIDTEMPLATE • Einfügen eines TypoScript Pfades - hier ein Breadcrumb-Menü <f:cObject typoscriptObjectPath="lib.breadcrumb" /> • Zugehöriges TypoScript lib.breadcrumb = HMENU lib.breadcrumb { special = rootline special.range = 0|-1 1 = TMENU 1 { NO.linkWrap = | >> CUR = 1 CUR.doNotLinkIt = 1 } } (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 28
  • 29. 04 FLUIDTEMPLATE • Übergabe von statischen Daten an TypoScript 20 + 22 = <f:cObject typoscriptObjectPath="lib.math" data="20+22" /> • Zugehöriges TypoScript lib.math = TEXT lib.math { current = 1 prioriCalc = 1 } (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 29
  • 30. 04 FLUIDTEMPLATE • Übergabe von dynamischen Daten an TypoScript <f:cObject typoscriptObjectPath="lib.renderTitle"> {blog} </f:cObject> • Zugehöriges TypoScript {blog} • Zugehöriges TypoScript lib.renderTitle = IMAGE lib.renderTitle = IMAGE lib.renderTitle { lib.renderTitle { file = GIFBUILDER file = GIFBUILDER file { {blog.title} file { XY = 300,30 XY = 300,30 backColor = #cc0000 backColor = #cc0000 10 = TEXT 10 = TEXT 10.text.field = title 10.text.current =1 10.fontColor = #ffffff 10.fontColor = #ffffff 10.offset = 10, 25 10.offset = 10, 25 } } } } (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 30
  • 31. FLUID WIDGETS Ein ViewHelper im ViewHelper :-) (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 31
  • 32. 06 FLUID WIDGETS • Einige Funktionalitäten sind nur schwer über ViewHelper abbildbar • Dafür wurden Widgets eingeführt (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 32
  • 33. 06 FLUID WIDGETS • Widgets • werden wie ViewHelper im View eingesetzt • haben einen eigenen Controller (und damit eigene Actions) • und ein eigenes Template (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 33
  • 34. 06 FLUID WIDGETS • Pager • Controller holt aus dem Repository x Datensätze und übergibt nur diese dem View • View stellt x Datensätze dar • Im View Action-Links zu den nächsten x Datensätzen • ... • => Problem: Für einen „einfachen“ Pager muss die Extension individuell verändert werden (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 34
  • 35. 06 FLUID WIDGETS • Lösung: Paginate Widget • <f:widget.paginate objects="{blogs}" as="paginatedBlogs" configuration="{itemsPerPage: 3, insertAbove: 1}"> <f:for each="{paginatedBlogs}" as="blog"> {blog.title} </f:for> </f:widget.paginate> • Controller zum Aufbau der Paginierung (Ändert das Query-Objekt) • Template zur Darstellung der Paginierung • => Widgets sind damit unabhängig von der Extension obwohl Sie eventuell in deren Objekte eingreifen (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 35
  • 36. 06 FLUID WIDGETS • Eigene Widgets schreiben • Name ausdenken [Vhname] => <ns:widget.vhname>... • Folgende Klasse in Classes/Viewhelpers/Widgets/ class Tx_Fluid_ViewHelpers_Widget_[Vhname]ViewHelper extends Tx_Fluid_Core_Widget_AbstractWidgetViewHelper { } • Methode render() enthält return $this->initiateSubRequest(); • Folgende Klasse in Classes/Viewhelpers/Widgets/Controller/ class Tx_Fluid_ViewHelpers_Widget_Controller_[Vhname]Controller extends Tx_Fluid_Core_Widget_AbstractWidgetController { } • Widget-Controller verhält sich wie richtiger Controller (initializeAction, indexAction, ...) • Template in Resources/Private/Templates/ViewHelpers/Widget/[Vhname] • Navigation über interne Widget-Links <f:widget.link action=“index“> (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 36
  • 37. FLUID BEISPIELE Showcases (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 37
  • 38. 07 FLUID BEISPIELE • Daten für den Menülayer werden gruppiert dargestellt (nach der Art wie „Feldebene“) • Dafür verwendet: groupedFor ViewHelper (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 38
  • 39. 07 FLUID BEISPIELE • Rahmen und Drehung des oberen Bildes per cObject Viewhelper • Mail-Template per Fluid Standalone View (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 39
  • 40. 07 FLUID BEISPIELE • Model: Order • Eigenschaft: „contact“ ist Mapping auf tt_address • property= “contact.phone“ • Dropdowns für Geburtstag aus ViewHelper (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 40
  • 41. 07 FLUID BEISPIELE • Anzeige der POIs über einen eigenen GoogleMaps ViewHelper (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 41
  • 42. QUELLEN Fluid bis zum Abwinken (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 42
  • 43. 08 QUELLEN (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 43
  • 44. 08 QUELLEN • Artikel: Seitentemplates mit Fluid ACHTUNG DRUCKFEHLERTEUFEL: Seite 152 / Listing 4 • page = PAGE page.10 = FLUIDTEMPLATE page.10 { file = fileadmin/tpl_main.html variables { CONTENT < styles.content.get (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 44
  • 45. 08 QUELLEN • Forge: http://forge.typo3.org/projects/show/package-fluid • GIT: git clone http://git.typo3.org/FLOW3/Packages/Fluid.git • Issue-Tracker: http://forge.typo3.org/projects/package-fluid/ issues • Mailingliste: http://lists.typo3.org/cgi-bin/mailman/listinfo/ typo3-project-typo3v4mvc • Deutsches Extbase & Fluid Tutorial von Mittwald: http://www.mittwald.de/fileadmin/pdf/extbase_fluid.pdf (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 45
  • 46. 08 QUELLEN Extbase / Fluid Cheatsheet 1.01 19.06.2010 bis Extbase/Fluid 1.2 http://www.typovision.de/fileadmin/slides/ExtbaseFluidCheatSheetTypovision.pdf (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 46
  • 47. 08 QUELLEN Extbase / Fluid Cheatsheet 1.01 Don‘t try this at home! (cause its outdated) 19.06.2010 bis Extbase/Fluid 1.2 http://www.typovision.de/fileadmin/slides/ExtbaseFluidCheatSheetTypovision.pdf (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 46
  • 48. 08 QUELLEN (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 47
  • 49. 08 QUELLEN Extbase / Fluid Cheatsheet 2.00 22.02.2011 bis Extbase/Fluid 1.3 http://www.typovision.de/fileadmin/slides/ExtbaseFluidCheatSheetTypovision.pdf (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 47
  • 50. SLIDES: http://www.typovision.de/T3AK11_Fluid_extreme_typovision.pdf VIELEN DANK! Fragen?? (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 48
  • 51. KONTAKT - KLASSISCH Adresse: typovision* - agentur für digitale kommunikation Belfortstr. 8 81667 München Fon: +49-89-18 92 08 70 Fax: +49-89-18 92 08 69 Email: info@typovision.de Web: http://www.typovision.de (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 49
  • 52. KONTAKT - SOCIAL CHANNELS Twitter: www.twitter.com/_typovision_ www.twitter.com/PatrickLobacher Facebook: www.facebook.com/typovision XING: www.xing.com/profile/Patrick_Lobacher Slideshare: www.slideshare.net/plobacher Amazon: www.amazon.de/Patrick-Lobacher/e/B0045AQVEA (c) 2011 - typovision* | Extreme Fluid - T3AK11 | Patrick Lobacher | www.typovision.de | 26.02.2011 50