of 341 /341
TYPO3 CMS 7 LTS - What’s New Backend User Interface Patrick Lobacher (Vorstand pluswerk AG) http://www.pluswerk.ag 10/November/2015 Creative Commons BY-NC-SA 3.0

TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk

Embed Size (px)

Text of TYPO3 CMS 7 LTS - Die Neuerungen - pluswerk

  • TYPO3 CMS 7 LTS - Whats NewBackend User Interface

    Patrick Lobacher (Vorstand pluswerk AG)http://www.pluswerk.ag

    10/November/2015Creative Commons BY-NC-SA 3.0

  • Introduction

    TYPO3 CMS 7 LTS - Whats New

    Die folgenden Slides sind auf ein spezielles Thema fokussiert. Abhngig vonder Rolle, knnen die folgenden Themen ebenfalls interessant sein:

    BEUserInterface

    TypoScript

    In-DepthChanges

    Extbase/Fluid

    Deprecated/Rem

    oved

    Sys.Administration

    Redakteure XIntegratoren X X XEntwickler X X XSysAdmins X

    Download aller Whats New Slides unter typo3.org

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/download/release-notes/whats-new/

  • Backend User Interface

    Backend User InterfaceDie grte und auflligste nderung ist sicher das berarbeitete BackendUser Interface. Es basiert nun komplett auf Twitter Bootstrap, verfgt berein modernes und responsives Design und stellt sicher, das Redakteure ihreAufgaben effizient und einfach erledigen knnen.Die neuen Icons sehen nun auf hochauflsenden Screens phantastisch aus,da diese per SVG realisiert wurden. Bilder knnen nun mit Bordmitteln beimHochladen ins Backend direkt beschnitten werden.Agenturen knnen zudem die Login-Seite individualisieren und Redakteurewerden zahlreiche weitere tolle Features vorfinden, die ihre tgliche Arbeiterleichtert.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Allgemeines

    Das Backend User Interface wurde komplett berarbeitet

    Als Basis dient Twitter Bootstrap Version 3.2.x

    Smtliche Icons wurden erneuert und grafisch im "Tile Style"berarbeitet

    Fr Icons wird Font Awesome Version 4.2.x verwendet

    Linke Funktionenleiste wurde grafisch angepasst

    Icons wurden im Flat-Design, monochrom, farbig und mitabgerundeten Ecken entworfen

    Breite der Funktionenleiste kann soweit reduziert werden, dass nurnoch Icos sichtbar sind

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Backend Benutzeranmeldung

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Top Bar (Module Menu)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Listen Modul und Zwischenablage

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Tabellen

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Suche fr Seite/Liste

    Klick auf die Lupe blendet eine Suche fr die aktuelle Seite/Liste ein(diese befand sich frher statisch am Ende der Seite)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Anzahl offene Dokumente

    Anzahl offene Dokumente wird ber ein Bootstrap "Badge" angezeigt(setzt die installierte Extension "Open Documents" voraus)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Flash Messages

    FlashMessage-Boxen im Backend wurden berarbeitetDafr wurde der Kontrast von Text und Box erhht und Links werdenbesser hervorgehoben

    TYPO3 CMS < 7.0 TYPO3 CMS >= 7.0

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Video Player in Info Window

    Ein Videoplayer ermglicht es, HTML5 Audio- und Video-Dateien im"Info"-Fenster abzuspielen

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel: Date/Time Picker

    Date/Time Picker im Backend wurde auf Twitter Bootstrap umgestellt

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel: Funktionen-Modul

    Die Funktionen "Seiten sortieren" und "mehrere Seiten erzeugen" sind jetztunter WEB => Funktionen zu finden(in TYPO3 CMS < 7.1 waren diese unter "WEB => Funktionen => Wizards" zu finden)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel: Access-Modul

    Im Modul WEB => Access kann man Benutzer und/oder Gruppenunverndert lassen, wenn man nur die Berechtigungen ndern mchte

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Look & Feel: Icons im List-Modul

    Icons ("Action Buttons") im List-Modul sind nun in zwei Gruppen angeordnet(primre Aktionen (lesen, speichern, lschen) zuerst, anschlieend die sekundren Icons)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Anpassbares Anmeldeformular

    In der Systemextension backend kann sowohl ein Hintergrundbild, ein Logound die Signalfarbe fr die Anmeldeformular eingestellt werden:

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Bild-Manipulation (Cropping)

    Fr Bilder kann im Backend bei der Verwendung einer Referenz (z.B. inInhalts-Elementen) ein Ausschnitt ausgewhlt werden. Diese Funktion mussallerdings fr den Redakteur explizit erlaubt werden ("Exclude Fields"):

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Benutzergruppen

    Die Backend Benutzergruppen knnen im Modul "Backend Users" verwaltetwerden:

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Automatische Installationen unterbinden

    In den Einstellungen des Extension-Managers kann die automatischeInstallation von Extensions nach dem Download deaktiviert werden:

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Verbleibende Anzahl von Zeichen

    Unterhalb von Textfeldern wird die verbleibende Anzahl der maximalzulssigen Zeichen angezeigt:

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Ungespeicherte nderungen

    Redakteure erhalten eine Warnung, wenn in einem Editier-Formular der"Schlieen"-Button geklickt wird, ohne vorher gespeichert zu haben:

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Systeminformationen

    Eine Kurzbersicht der Systeminformationen kann per Klick neben demBenutzer-Icon abgerufen werden. Die Informationen in diesem Dialog sinderweitern (siehe Kapitel "nderungen im System"):

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Passwortnderung

    Zur nderung des Passwortes mssen Backendbenutzer zuerst ihr aktuelles,altes Passwort eingeben:

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Icon fr "Show Content from Page"

    Im Seitenbaum zeigt ein neues Icon an, ob eine Seite Inhalte von eineranderen Seite enthlt ("Show Content from Page"):

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Extension Update

    Beim Update einer Extension wird gefragt, auf welche Version aktualisierenwerden soll:

    (es wird nicht mehr generell auf die letzte, verfgbare Version aktualisiert)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Recycler Task

    Die Systemextension recycler bringt nun einen Scheduler Task mit, mitdem gelschte Datenstze aus Content-Tabellen vollstndig entfernt werdenknnen (inkl. referenzierte Dateien, sofern vorhanden).(max. Alter, ab wann Content gelscht werden kann, ist konfigurierbar)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Seitentitel im Page- und List-Modul

    Im Page- und List-Modul kann man den Seitentitel entweder perDoppelklick oder mit Klick auf das Bearbeitungssymbol ndern.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Prozessierte FAL Dateien im Install Tool lschen

    Das Install Tool enthlt nun ein neues Tool (unterhalb von "Clean up"), umprozessierte FAL Dateien (wie z.B. Thumbnails) zu lschen. Das istinsbesondere hilfreich, wenn man grafik-relevante Settings ndern oderwenn man GraphicsMagick/ImageMagick aktualisiert hat und alle Dateienneu generieren will.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Copyright in FAL Meta-Daten

    In den zustzlichen FAL Meta-Daten (Extension: filemetadata) gibt esnun ein Feld "Copyright".

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Avatare fr Backend Benutzer

    Backend Benutzer knnen nun Avatare festlegen. Diese werden in denBenutzereinstellungen gepflegt und beispielsweise oben neben demAnmeldenamen oder in den Benutzerlisten angezeigt.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Dateien ersetzen

    Es ist nun mglich, Dateien in der FAL Dateiliste zu ersetzen. Hierzu mussdie "Erweiterte Ansicht" aktiviert sein. Je nach Bedarf kann der bisherigeDateinamen beibehalten oder der neue verwendet werden.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Onlinestatus anzeigen

    Im Modul "Backend Benutzer" wird nun angezeigt, ob ein Benutzermomentan online ist.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Zweite Optionspalette entfernt

    Die Checkbox "Show secondary options (palettes)" sowie die TSconfigoptions.enableShowPalettes und die zugehrigen TCA-Einstellungenwurden entfernt. Die "Paletten" sind nun immer sichtbar und knnen nichtmehr ausgeblendet werden.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Beschreibung fr Backend Benutzer

    Backend Benutzer knnen nun auch eine Beschreibung erhalten.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Beschreibung im Backend anzeigen

    ber die TCA-Einstellung [TCA][ctrl][descriptionColumn]kann eine Spalte ausgewhlt werden (meist description), die eineBeschreibung enthlt. Ist diese vorhanden, wird der Inhalt beispielsweiseim Listenmodul angezeigt.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Beschreibung fr Filemounts

    Filemounts knnen ebenfalls eine Beschreibung erhalten.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    berschreiben Dialog beim Upload

    Sofern bei einem Upload Dateien bereits auf dem Server existieren, werdenin einem Dialog mehrere Optionen zur Auswahl angeboten.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Editieren von Inhaltselementen fr Nicht-Admins einschrnken

    Inhaltselemente knnen jetzt fr die Bearbeitung durch Nicht-Adminseingeschrnkt werden (hnliche Funktion die es bereits bei Seiten gibt).

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Statische TSconfig Dateien (1)

    In den Seiteneigenschaften knnen nun statische TSconfig Dateieneingebunden werden.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Statische TSconfig Dateien (2)

    Die TSconfig Dateien werden wie folgt registriert:\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(

    extension_name,Configuration/PageTS/myPageTSconfigFile.txt,My special configuration

    );

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Echte Sprachkopien

    Es ist nun mglich, "richtige" Kopien von Inhaltselementen inSprachversionen anzulegen (und nicht nur Referenzen).

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Sprachauswahl im Modul "View"

    Das Modul WEB->View bietet nun eine komfortable Sprachauswahl.(kann durch mod.SHARED.view.disableLanguageSelector = 1 deaktiviert werden)

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Inhaltselement textmedia

    Ein neues Inhaltselement "Text & Media", fasst die bisher bekanntenElemente text, image und textpic zusammen.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    YouTube- und Vimeo-Dateien

    ber das erwhnte Inhaltselement "Text & Media" knnen auch externeYouTube- und Vimeo-Dateien, sowie lokale Dateien eingefgt werden.

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Suche im Filelist Modul

    Im Modul "Filelist" gibt es eine Suche, die rekursiv durch alle Ordner sucht

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Benachrichtigungseinstellungen bei Workspaces (1)

    Die Benachrichtigungseinstellungen (engl. Notification Settings) innerhalbder Workspaces wurden berarbeitet

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Benachrichtigungseinstellungen bei Workspaces (2)

    Man kann nun sogar fr den Stage publish-execute Einstellungenvornehmen

    TYPO3 CMS 7 LTS - Whats New

  • Backend User Interface

    Suche im Dateibrowser

    Im Popup des Dateibrowser ist nun eine einfache Suche integriert, dierekursiv agiert

    TYPO3 CMS 7 LTS - Whats New

  • Sources and Authors

    Quellen und Autoren

    TYPO3 CMS 7 LTS - Whats New

  • Sources and Authors

    Quellennachweis

    TYPO3 News:http://typo3.org/news

    Release Infos:https://wiki.typo3.org/Category:ReleaseNotes/TYPO3_7.xINSTALL.md and ChangeLog

    typo3/sysext/core/Documentation/Changelog/*

    TYPO3 Bug-/Issuetracker:https://forge.typo3.org/projects/typo3cms-core

    TYPO3 Git Repositories:https://git.typo3.org/Packages/TYPO3.CMS.githttps://git.typo3.org/Packages/TYPO3.Fluid.git

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/newshttps://wiki.typo3.org/Category:ReleaseNotes/TYPO3_7.xhttps://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.mdhttps://github.com/TYPO3/TYPO3.CMS/blob/master/ChangeLoghttps://forge.typo3.org/projects/typo3cms-corehttps://git.typo3.org/Packages/TYPO3.CMS.githttps://git.typo3.org/Packages/TYPO3.Fluid.git

  • Sources and Authors

    pluswerk

    pluswerk ist eine Full Service Agentur fr leidenschaftliche digitaleKommunikation mit 10 Standorten in Deutschland und ber 130 Mitarbeitern

    www.pluswerk.ag | +49 89 130 145 20 | facebook.com/pluswerk

    TYPO3 CMS 7 LTS - Whats New

  • TYPO3 CMS 7 LTS - Whats NewTSconfig & TypoScript

    Patrick Lobacher (Vorstand pluswerk AG)http://www.pluswerk.ag

    10/November/2015Creative Commons BY-NC-SA 3.0

  • Introduction

    TYPO3 CMS 7 LTS - Whats New

    Die folgenden Slides sind auf ein spezielles Thema fokussiert. Abhngig vonder Rolle, knnen die folgenden Themen ebenfalls interessant sein:

    BEUserInterface

    TypoScript

    In-DepthChanges

    Extbase/Fluid

    Deprecated/Rem

    oved

    Sys.Administration

    Redakteure XIntegratoren X X XEntwickler X X XSysAdmins X

    Download aller Whats New Slides unter typo3.org

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/download/release-notes/whats-new/

  • TSconfig & TypoScript

    TSconfig & TypoScriptTypoScript wird verwendet, um hierarchische Informationen in einer Strukturzu verwalten um damit die TYPO3 CMS Instanz zu konfigurieren. In TYPO3CMS 7 LTS wurden viele Eigenschaften und Optionen zugefgt, gendert bzw.auch als veraltet markiert oder entfernt.Open Graph Attribute werden nun out-of-the-box untersttzt und dieIntegritt von extern gehosteten JavaScript-Dateien kann nun via SRI-Hashberprft werden, um nur zwei der neuen Features zu nennen.Entfernte TypoScript-Optionen sind in den Slides Deprecated/Removed zufinden.

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    TSconfig fr Linkvalidator inkludieren

    TSconfig Konfiguration fr den Linkvalidator wird gelesen...

    entweder aus dem aktiven TSconfig des Backends,oder aus der Konfiguration des Scheduler-Tasks

    Das folgende TSconfig kann vom Linkchecker ausgelesen werdenmod.linkvalidator.mychecker.myvar = 1

    Dort steht das TSconfig dann als $this->tsConfig zur Verfgung

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Links zu deaktivierten Datenstzen im Linkhandler melden

    Bisher hat der Linkhandler lediglich gewarnt, wenn es Links zugelschten oder nicht existierenden Datenstzen gab

    ber die folgende TSconfig Einstellung kann nun auch eine Warnungaktiviert werden, wenn der Link auf einen deaktivierten Datensatz zeigt:mod.linkvalidator.linkhandler.reportHiddenRecords = 1

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    RTE: mehrere CSS Klassen

    Um das Handling mit komplexen CSS Frameworks wie Twitter Bootstrapzu handhaben, muss es mglich sein, mehrere Klassen an ein Elementzu vergeben

    Mit diesem neuen Feature muss der Autor nur noch einen Styleauswhlen, um dies zu erreichen, und nicht mehrere

    RTE.classes.[ *classname* ] {.requires = list of CSS classes

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    RTE: nicht-selektierbare Klassen

    Man kann nun Klassen als "nicht-selektierbar" im Style-Selektor desRTE konfigurieren

    // der Wert "1" bedeutet, class ist auswaehlbar// der Wert "0" bedeutet, class ist nicht auswaehlbarRTE.classes.[ *classname* ] {

    .selectable = 1}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    RTE: mehrere CSS-Dateien einbinden

    Man kann nun mehrere CSS-Dateien in den RTE laden

    RTE.default.contentCSS {file1 = fileadmin/rte_stylesheet1.cssfile2 = fileadmin/rte_stylesheet2.css

    }

    Gibt man keine CSS Datei an, so wird die Default-Datei geladen:typo3/sysext/rtehtmlarea/res/contentcss/default.css

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Exception whrend Rendering erzeugen - Teil 1

    Sobald Fehler im Rendering von einzelnen Inhaltselementen (ContentObjects) (z.B. mittels USER) auftreten, wird eine Fehlermeldungerzeugt, die in TYPO3 CMS < 7.0 die gesamte Ausgabe zerstrt

    In TYPO3 CMS 7.0 wurde ein Exception-Handling eingefhrt, welcheseine Fehlermeldung in die Ausgabe an der Stelle integriert, an der dasRendering stattgefunden hat

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Exception whrend Rendering erzeugen - Teil 2

    # default exception handler (activated in context "production")config.contentObjectExceptionHandler = 1

    # configuration of a class for the exception handlingconfig.contentObjectExceptionHandler =

    TYPO3\CMS\Frontend\ContentObject\Exception\ProductionExceptionHandler

    # customised error message (show random error code)config.contentObjectExceptionHandler.errorMessage = Oops an error occurred. Code: %s

    # configuration of exception codes, which are not dealt withtt_content.login.20.exceptionHandler.ignoreCodes.10 = 1414512813

    # deactivation of exception handling for a specific plugins or content objectstt_content.login.20.exceptionHandler = 0

    # ignoreCodes and errorMessage can be configured globally...config.contentObjectExceptionHandler.errorMessage = Oops an error occurred. Code: %sconfig.contentObjectExceptionHandler.ignoreCodes.10 = 1414512813

    # ...or locally for individual content objectstt_content.login.20.exceptionHandler.errorMessage = Oops an error occurred. Code: %stt_content.login.20.exceptionHandler.ignoreCodes.10 = 1414512813

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    StdWrap fr page.headTag

    TypoScript Option page.headTag hat nun stdWrap-Funktionalittpage = PAGEpage.headTag = page.headTag.override = page.headTag.override.if {

    isInList.field = uidvalue = 24

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    JavaScript-Dateien asynchron laden

    JavaScript-Dateien knen nun asynchron geladen werden

    page {includeJS {

    jsFile = /path/to/file.jsjsFile.async = 1

    }}

    Das gilt fr:

    includeJSlibs / includeJSLibsincludeJSFooterlibsincludeJSincludeJSFooter

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    HMENU Eigenschaft mit additionalWhere

    TypoScript cObject HMENU erhlt eine neue EigenschaftadditionalWhereJenes erlaubt eine spezifischere DB Abfrage (z.B. Filterung)

    Beispiel:

    lib.authormenu = HMENUlib.authormenu.1 = TMENUlib.authormenu.1.additionalWhere = AND author!=""

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Zustzliche Eigenschaften fr HMENU Browse-Men

    Zwei neue Eigenschaften fr das cObject HMENU (Option"special=browse"), um detaillierter definieren zu knnen, welcheSeiten im Men erscheinen sollen:

    excludeNoSearchPagesincludeNotInMenu

    Beispiel:

    lib.browsemenu = HMENUlib.browsemenu.special = browselib.browsemenu.special.excludeNoSearchPages = 1lib.browsemenu.includeNotInMenu = 1

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Mehrere HTTP-Header

    HTTP Header knnen nun mittels config.additionalHeadersals Array gesetzt werden

    Das ermglicht es, mehreren Header-Zeilen auf einmal zu konfigurierenconfig.additionalHeaders {

    10 {# header stringheader = WWW-Authenticate: Negotiate# (optional) replace previous headers with the same name (default: 1)replace = 0# (optional) force HTTP response codehttpResponseCode = 401

    }# set second additional HTTP header20.header = Cache-control: Private

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Option "auto" fr config.absRefPrefix

    TypoScript Konfiguration config.absRefPrefix kann verwendetwerden, um der URL einen Prefix bei relativen Pfaden zu geben. AlsAlternative zu config.baseURL (um eine bestimmte Domain zuspezifizieren), erkennt absRefPrefix die Site-Root automatisch:config.absRefPrefix = auto

    # anstelle von:[ApplicationContext = Production]config.absRefPrefix = /

    [ApplicationContext = Testing]config.absRefPrefix = /my_site_root/

    Hinweis: diese Option ist "Multi-Domain"-sicher und mehrfaches Caching der selben

    Daten wird verhindern.

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Zwei-Zeichen ISO Code fr sys_language (1)

    Die Behandlung von Sprachen wird durch Eintrge in DB Tabellesys_language vorgenommen, die durch sys_language_uidreferenziert werden

    In TYPO3 CMS 7.1 wurden ISO 639-1 Zwei-Zeichen Codes implementiert:

    Neues DB Feld: sys_language.language_isocodeNeue TypoScript-Option: sys_language_isocode

    Hinweis: bei ISO 639 handelt es sich um eine Sammlung von Standards der"International Organization for Standardization". Eine List der ISO 639-1Codes ist hier abrufbar:http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

    TYPO3 CMS 7 LTS - Whats New

    http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

  • TSconfig & TypoScript

    Zwei-Zeichen ISO Code fr sys_language (2)

    Beispiel:

    # Danish by defaultconfig.sys_language_uid = 0config.sys_language_isocode_default = da

    [globalVar = GP:L = 1]# ISO code stored in table sys_language (uid 1)config.sys_language_uid = 1# overwrite ISO code as requiredconfig.sys_language_isocode = fr

    [GLOBAL]

    page.10 = TEXTpage.10.data = TSFE:sys_language_isocodepage.10.wrap =

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Eigene Conditions im Backend

    Eigene Conditions fr das Frontend wurden bereits mit TYPO3 CMS 7.0eingefhrt

    Seit TYPO3 CMS 7.1 ist es nun auch mglich, eigene Conditions fr dasBackend zu implementieren

    Die Condition muss von AbstractCondition ableiten und dieMethode matchCondition bereitstellenAnwendungsbeispiel in TypoScript:[BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition]

    [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = 7]

    [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = 7, != 6]

    [BigCompanyName\TypoScriptLovePackage\MyCustomTypoScriptCondition = {$mysite.myconstant}]

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Zufgen von Icons in TCEFORM via PageTSconfig

    Eigene Werte und Labels von Select-Feldern knnen bereits mit derPageTSconfig Option addItems vergeben werdenNun knnen auch Icons fr diese Felder definiert werden

    Option 1: mittels addItems und der Eigenschaft .iconOption 2: mittels altIcons (generell fr alle Felder)

    Beispiel:TCEFORM.pages.doktype.addItems {

    10 = My Label10.icon = EXT:t3skin/icons/gfx/i/pages.gif

    }TCEFORM.pages.doktype.altIcons {

    10 = EXT:myext/icon.gif}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Element Browser: Mountpoints hinzufgen

    Neue UserTSconfig Option .append erlaubt es AdministratorenMountpoints hinzuzufgen, anstatt die Liste der konfigurierten DBMountpoints eines Benutzers neu zu schreiben

    Beispiel:

    options.pageTree.altElementBrowserMountPoints = 20,31options.pageTree.altElementBrowserMountPoints.append = 1

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    berschreiben der Labels von Radio-Buttons und Checkboxen

    Labels von Radio-Buttons und Checkboxen knnen nun berschriebenwerden

    Beispiel:// field with a single checkbox (use ".default")TCEFORM.pages.hidden.altLabels.default = new labelTCEFORM.pages.hidden.altLabels.default = LLL:path/to/languagefile.xlf:individualLabel

    // field with multiple checkboxes (0, 1, 2, 3...)TCEFORM.pages.l18n_cfg.altLabels.0 = new label of first checkboxTCEFORM.pages.l18n_cfg.altLabels.1 = new label of second checkboxTCEFORM.pages.l18n_cfg.altLabels.2 = new label of third checkbox...

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Diverses (1)

    Breite und Hhe des Element-Browsers knnen nun per UserTSconfigfestgelegt werden

    options.popupWindowSize = 400x900options.RTE.popupWindowSize = 200x200

    PageTSconfig: mit einer neue RTE-Konfiguration kann dasStandard-Ziel von Links beeinflusst werden

    buttons.link.[type].properties.target.default

    Wobei [type] zum Beispiel page, file, url, mail or spec sein kann(Extensions knnen weitere Typen zur Verfgung stellen)

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Diverses (2)

    Standardmig sind Section-Headlines der Indexed-Search Resultateverlinkt. Das kann nun mittels TypoScript deaktiviert werdenplugin.tx_indexedsearch.linkSectionTitles = 0

    getData kann jetzt auch field-Daten abfragen (nicht nur Arrays, wiebeispielsweise GPVar und TSFE)10 = TEXT10.data = field:fieldname|level1|level2

    TypoScript Konfiguration config.pageTitle hat jetztstdWrap-Funktionalitt# make value of upper casepage = PAGEpage.config.pageTitle.case = upper

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Konfigurierbarer Vorschau-Link (1)

    Es ist nun mglich, die URL zur Vorschau einer Seite zu definieren, diedurch den Button "Speichern & Vorschau" aufgerufen wird.

    Damit kann man unterschiedliche Links fr Blog- oderNews-Datenstze, aber auch fr Inhaltselemente generieren lassen.TCEMAIN.preview {

    {previewPageId = 123useDefaultLanguageRecord = 0fieldToParameterMap {

    uid = tx_myext_pi1[showUid]}additionalGetParameters {

    tx_myext_pi1[special] = HELLO}

    }}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Konfigurierbarer Vorschau-Link (2)

    previewPageId:UID der Seite, die fr den Preview verwendet werden soll

    (ohne Angabe wird die aktuelle Seite verwendet)

    useDefaultLanguageRecord:definiert, ob bersetzte Datenstze die UID des Default-Datensatzes verwenden

    (standardmig ist jenes aktiviert, default: 1)

    fieldToParameterMap:Mapping (Key = Value) von Feldern des Datensatzes, die als GET-Parameter an den Link

    angehngt werden

    additionalGetParameters:wie fieldToParameterMap, aber fr beliebige Paramater

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    RTE Konfiguration: Default-Target

    Das Default-Target in der RTE Konfiguration ist nun im PageTSconfigabhngig vom Typ einstellbar

    buttons.link.[ type ].properties.target.default = ...

    Als "type" sind folgende Werte zulssig:(weitere knnen via Extensions eingebracht werden)

    pagefileurlmailspec

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Leere HTML-Tags im HTMLparser lschen

    Es ist nun mglich, leere HTML-Tags im HTMLparser zu lschenstdWrap {

    // Hier werden alle leeren HTML-Tags entferntHTMLparser.stripEmptyTags = 1// Hier werden nur leere h2 und h3 Tags entferntHTMLparser.stripEmptyTags.tags = h2, h3

    }

    RTE.default.proc.entryHTMLparser_db {stripEmptyTags = 1stripEmptyTags.tags = pstripEmptyTags.treatNonBreakingSpaceAsEmpty = 1

    }

    Da der HtmlParser unbekannte Tags grundstzlich entfernt, ist esratsam, diese zunchst zu behalten:HTMLparser.keepNonMatchedTags = 1

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Diverses

    Der Button fr "Abkrzung" (engl. abbreviation) im RTE kann nun in derPageTSconfig ausgeblendet werden (da nicht mehr HTML5 konform):

    # moegliche Wert sind:# acronym, definedAcronym, abbreviation, definedAbbreviationbuttons.abbreviation.removeFieldsets = acronym,definedAcronym

    Die Eigenschaft inlineLanguageLabel des Objekts PAGE kann nunauch mit LLL:-Referenzen umgehen

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    stdWrap Funktion strtotime

    Es gibt nun eine stdWrap Funktion strtotime, welche es ermglicht,formatierte Datum-Angaben in einen Timestamp umzuwandeln

    date_as_timestamp = TEXTdate_as_timestamp {

    value = 2015-04-15strtotime = 1

    }

    next_weekday = TEXTnext_weekday {

    data = GP:selected_datestrtotime = + 2 weekdaysstrftime = %Y-%m-%d

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    GPmerged in Conditions

    Prft man in Conditions nur mittels GP so wird beim gleichzeitigenVorhandensein von POST- und GET-Variablen (z.B.tx_demo_demo[...]=...), lediglich die POST-Variablezurckgegeben

    Mit der neuen Option GPmerged werden beide Variablenzusammengefhrt und dann zurckgegeben

    [globalVar = GPmerged:tx_demo|foo = 1]page.90 = TEXTpage.90.value = DEMO

    [global]

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Weitere Werte fr die Funktion stdWrap.case

    Die stdWrap Funktion case ist um die beiden Werte uppercamelcaseund lowercamelcase ergnzt wordenBeispiel:tt_content = CASEtt_content {

    key.field = CTypemy_custom_ctype =< lib.userContentmy_custom_ctype {

    file = EXT:site_base/Resources/Private/Templates/SomeOtherTemplate.htmlsettings.extraParam = 1

    }default =< lib.userContentdefault {

    file = TEXTfile.field = CTypefile.stdWrap.case = uppercamelcasefile.wrap = EXT:site_base/Resources/Private/Templates/|.html

    }}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Eigenschaft integrity fr JavaScript-Dateien (1)

    Es wurde die Eigenschaft integrity zugefgt, um einen SRI Hash zumJavaScript-Markup hinzuzufgen, mit dem die Quelle verifiziert werdenkann (SRI: Sub-Resource Integrity)

    Dies betrifft die Eigenschaften page.includeJSLibs,page.includeJSFooterlibs, includeJS und includeJSFooterBeispiel:page {

    includeJS {jQuery = https://code.jquery.com/jquery-1.11.3.min.jsjquery.external = 1jQuery.disableCompression = 1jQuery.excludeFromConcatenation = 1jQuery.integrity = sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=

    }}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Eigenschaft integrity fr JavaScript-Dateien (2)

    SRI ist eine Spezifikation des W3C, die es ermglicht zu verifizieren, obextern gehostete Dateien manipuliert worden sind

    Erstellen von Integrity Hashes:

    Option 1: https://srihash.orgOption 2: durch folgende Kommandos

    cat FILENAME.js | openssl dgst -sha256 -binary | openssl enc -base64 -A

    Weitere Informationen:

    http://www.w3.org/TR/SRI/

    TYPO3 CMS 7 LTS - Whats New

    https://srihash.orghttp://www.w3.org/TR/SRI/

  • TSconfig & TypoScript

    Data-Provider fr Backend Layouts (1)

    Backend-Layouts knnen jetzt per PageTSconfig definiert und damitauch in Dateien ausgelagert werden. Zum Beispiel:mod {

    web_layout {BackendLayouts {

    exampleKey {title = Exampleconfig {

    backend_layout {colCount = 1rowCount = 2rows {

    1 {columns {

    1 {name = LLL:EXT:frontend/ ... /locallang_ttc.xlf:colPos.I.3colPos = 3colspan = 1

    }}

    }[...]

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Data-Provider fr Backend Layouts (2)

    (Fortsetzung)

    [...]2 {

    columns {1 {

    name = MaincolPos = 0colspan = 1

    }}

    }}

    }}icon = EXT:example_extension/Resources/Public/Images/BackendLayouts/default.gif

    }}

    }}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Erweiterung der Option page.meta

    Die Option page.meta untersttzt nun auch Open Graph Attributnamenpage {

    meta {X-UA-Compatible = IE=edge,chrome=1X-UA-Compatible.attribute = http-equivkeywords = TYPO3# og:site_name = TYPO3og:site_name.attribute = propertydescription = Inspiring people to shareog:description = Inspiring people to shareog:description.attribute = propertyog:locale = en_GBog:locale.attribute = propertyog:locale:alternate {

    attribute = propertyvalue.1 = fr_FRvalue.2 = de_DE

    }refresh = 5; url=http://example.com/refresh.attribute = http-equiv

    }}

    TYPO3 CMS 7 LTS - Whats New

    http://ogp.me/

  • TSconfig & TypoScript

    languageField wird automatisch gesetzt

    In der TypoScript-Option select (die beispielsweise beim cObjectCONTENT verwendet wird) musste man bisher das languageFieldexplizit setzen

    Jenes wird nun automatisch gesetzt und kann daher weglassen werdenconfig.sys_language_uid = 2page.10 = CONTENTpage.10 {

    table = tt_contentselect.where = colPos=0

    # Die nachfolgende Zeile ist nicht notwendig:#select.languageField = sys_language_uid

    renderObj = TEXTrenderObj.field = headerrenderObj.htmlSpecialChars = 1

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Individuelles Content Caching

    Es gibt nun ein individuelles Content Caching, welches im Gegensatz zustdWrap.cache auch mit COA-Objekten funktioniert (hnlich dem"Magento Block Caching")

    page = PAGEpage.10 = COApage.10 {

    cache.key = coaoutcache.lifetime = 60#stdWrap.cache.key = coastdWrap#stdWrap.cache.lifetime = 6010 = TEXT10 {

    cache.key = mycurrenttimestampcache.lifetime = 60data = date : Ustrftime = %H:%M:%SnoTrimWrap = |10: | |

    }[...]

    [...]20 = TEXT20 {

    data = date : Ustrftime = %H:%M:%SnoTrimWrap = |20: | |

    }}

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Zhler fr listNum

    Es gibt eine neue Eigenschaft returnCount fr die stdWrapEigenschaft splitDamit kann die Anzahl der Elemente in einer kommaseparierten Listeermittelt werden

    Das folgende Beispiel gibt 9 zurck:1 = TEXT1 {

    value = x,y,z,1,2,3,a,b,csplit.token = ,split.returnCount = 1

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Sortierung von Tabellen im Backend

    ber die TSconfig Option mod.web_list.tableDisplayOrder kanneingestellt werden, wie die Tabellen im List-Modul sortiert werden

    Dafr werden die Schlsselworte before und after verwendetAnwendung:mod.web_list.tableDisplayOrder {

    {before = , , ...after = , , ...

    }}

    Zum Beispiel:mod.web_list.tableDisplayOrder {

    be_users.after = be_groupssys_filemounts.after = be_userspages_language_overlay.before = pagesfe_users.after = fe_groupsfe_users.before = pages

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Content Language im HTTP Header

    Es wird nun standardmig Content-language: XX im HTTPResponse Header an den Client gesendet, wobei "XX" dem ISO-Codeentspricht, der via sys_language_content konfiguriert wurdeDabei kann sys_language_content unterschiedlich zusys_language_uid sein, wenn der Inhalt von der Fallback-Spracheermittelt wird(jenes hngt von der Einstellung sys_language_mode ab)

    ber die Einstellung config.disableLanguageHeader = 1 kannder Header bei Bedarf auch deaktiviert werden

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Rekursive Option fr ordner-basierte File Collections

    Ordner-basierte File Collections haben nun eine Option um rekursiv alleDateien fr einen gegebenen Ordner zu ermitteln

    Die Option ist ebenfalls fr das TypoScript Objekt FILES verfgbarfilecollection = FILESfilecollection {

    folders = 1:images/folders.recursive = 1renderObj = IMAGErenderObj {

    file.import.data = file:current:uid}

    }

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Extension .ts fr Static Templates

    Bislang waren fr statische TypoScript Templates nur die folgendenDateinamen zugelassen:

    constants.txtsetup.txtinclude_static.txtinclude_static_files.txt

    Als Extension kann nun auch .ts verwendet werdenDabei hat .ts Vorrang vor .txt

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    save & view Button

    Der "save & view" Button ist nun via TSconfig konfigurierbar

    Der folgende Schlssel nimmt eine kommaseparierte Liste an"doktypes" auf: TCEMAIN.preview.disableButtonForDokTypeDer Standardwert ist "254, 255, 199" (Storage Folder, Recycler undMenu Seperator)

    In Foldern und Recycler-Seiten ist der "save & view" Button daherstandardmig nicht mehr sichtbar

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    stdWrap fr treatIdAsReference

    Fr das Objekt getImgResource existiert die OptiontreatIdAsReference, die ggf. definiert, dass die angegebenen UIDsals UIDs von sys_file_reference, anstatt von sys_file geltenDie Option treatIdAsReference besitzt nun stdWrap Funktionalitt

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Conditions fr TypoScript-Include

    Der INCLUDE_TYPOSCRIPT Tag besitzt nun das optionale Attribut"condition", welches es ermglicht, die Datei (oder das Verzeichnis) nurdann zu inkludieren, wenn die Condition erfllt ist:// TypoScript nur laden, wenn Benutzer eingeloggt ist:

    // TypoScript nur laden, wenn ApplicationContext gesetzt ist:

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    TCA-Option, um Datum Feldweise auszublenden

    Es gibt nun eine TCA-Option disableAgeDisplay, um die Anzeige desDatums auszublendenVoraussetzung hierfr ist, dass der Typ des Feldes input ist, und evalauf date gesetzt ist$GLOBALS[TCA][tt_content][columns][date][config][disableAgeDisplay] = true;

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Inline Sprachlabels mit TypoScript (1)

    Man kann nun Sprachdateien mittels TypoScript auslesen und alsInline-Array in den Quelltext schreiben, um z.B. per JavaScript daraufzuzugreifen

    Folgende Optionen sind mglich:

    selectionPrefix:nur Schlssel, die mit diesem Prefix anfangen, werden ermitteltstripFromSelectionName:String, der von jedem Schlssel entfernt wirderrorMode:Mode, wenn die Sprachdatei nicht gefunden wird(0: Eintrag im Syslog vornehmen, 1: ignorieren, 3: Exception generieren)

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Inline Sprachlabels mit TypoScript (2)

    Beispiel:page = PAGEpage.inlineLanguageLabelFiles {

    someLabels = EXT:myExt/Resources/Private/Language/locallang.xlfsomeLabels.selectionPrefix = idPrefixsomeLabels.stripFromSelectionName = strip_mesomeLabels.errorMode = 2

    }

    Ausgabe:

    /*var TYPO3 = TYPO3 || {};TYPO3.lang = {"firstLabel":[{"source":"first Label","target":"erstes Label"}],"secondLabel":[{"source":"second Label","target":"zweites Label"}]};

    /*]]>*/

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Workspace Preview per TSconfig

    Standardmig erzeugt TYPO3 lediglich Vorschau-Links fr die Tabellentt_content, pages und pages_language_overlayDies kann nun per PageTSconfig angepasst werden:# Verwendung der Seite 123 fuer Workspace Preview (fuer alle Tabellen)options.workspaces.previewPageId = 123

    # Verwendung des Feldes pid (fuer alle Tabellen)options.workspaces.previewPageId = field:pid

    # Verwendung der Seite 123 fuer Workspace Preview (fuer die Tabelle tx_myext_table)options.workspaces.previewPageId.tx_myext_table = 123

    # Verwendung des Feldes pid fuer Workspace Preview (fuer die Tabelle tx_myext_table)options.workspaces.previewPageId.tx_myext_table = field:pid

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Bildqualitt kann per SourceCollection gesetzt werden

    Die Bildqualitt jeder sourceCollection kann nun konfiguriert werden

    Dies berschreibt die Einstellungen, die im Install Tool gemacht wurdenund in der Datei LocalConfiguration.php gespeichert sind# fuer kleine Retina Bildertt_content.image.20.1.sourceCollection.smallRetina.quality = 80

    # fuer groessere Retina Bildertt_content.image.20.1.sourceCollection.largeRetina.quality = 65

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Count fr Split hinzugefgt

    Es wurde eine neue Eigenschaft returnCount zur stdWrap-Funktionsplit hinzugefgt, die die Anzahl der Elemente nach dem Split enthlt1 = TEXT1 {

    value = x,y,z,1,2,3,a,b,csplit.token = ,split.returnCount = 1

    }

    # result: 9

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Handling von Backend-Layouts vereinfacht (1)

    Das Handling, um Backend-Layouts mit Templates fr dieFrontend-Ausgabe zu versehen, wurde vereinfacht, indem die Optionpagelayout eingefhrt wurdeBeispiel:page.10 = FLUIDTEMPLATEpage.10 {

    file.stdWrap.cObject = CASEfile.stdWrap.cObject {

    key.data = pagelayoutdefault = TEXTdefault.value = EXT:sitepackage/Resources/Private/Templates/Home.html3 = TEXT3.value = EXT:sitepackage/Resources/Private/Templates/1-col.html4 = TEXT4.value = EXT:sitepackage/Resources/Private/Templates/2-col.html

    }}

    (Fortsetzung auf nchster Seite)

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Handling von Backend-Layouts vereinfacht (2)

    pagelayout ersetzt dabei den folgenden Code:field = backend_layoutifEmpty.data = levelfield:-2,backend_layout_next_level,slideifEmpty.ifEmpty = default

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Diverse

    Fr die mit TYPO3 CMS 7.4 eingefhrte stdWrap-Funktion bytes kannnun die Basis (z.B. 1000 oder 1024) gesetzt werden:bytes.base = 1000

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Parameter fr indexed_search

    Einige Parameter fr indexed_search, die bisher hart-kodiert waren,knnen nun konfiguriert werdentitleCropAfter = 50titleCropSignifier = ...summaryCropAfter = 180summaryCropSignifier =hrefInSummaryCropAfter = 60hrefInSummaryCropSignifier = ...markupSW_summaryMax = 300markupSW_postPreLgd = 60markupSW_postPreLgd_offset = 5markupSW_divider = ...

    Dabei knnen folgende Schlssel angesprochen werden:plugin.tx_indexedsearch.results.plugin.tx_indexedsearch.settings.results.

    Alle Optionen besitzen auerdem stdWrap-Funktionalitt

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    Konfiguration des Path-Seperators bei indexed_search

    Es wurde eine neue TypoScript-Option breadcrumbWrap hinzugefgt,mit dem Path-Seperators bei indexed_search konfiguriert werdenkann

    Darber wird der Pfad fr die Breadcrumb bei Suchergebnissenangezeigt

    Die Option verfgt ber Option-Split und ist standardmig auf "/"konfiguriertplugin.tx_indexedsearch.settings.breadcrumbWrap = / || /

    TYPO3 CMS 7 LTS - Whats New

  • TSconfig & TypoScript

    no_cache Parameter-Konfiguration fr indexed_search

    Es wurde eine neuen TypoScript-Option hinzugefgt:forwardSearchWordsInResultLink.no_cacheDamit kann eingestellt werden, ob der no_cache Paramater an dieSeiten-Links innerhalb von indexed_search hinzugefgt wird// Fuer Extbase-Pluginsplugin.tx_indexedsearch.settings.forwardSearchWordsInResultLink.no_cache = 1

    // Fuer eingefuegte Pluginsplugin.tx_indexedsearch.forwardSearchWordsInResultLink.no_cache = 1

    TYPO3 CMS 7 LTS - Whats New

  • Sources and Authors

    Quellen und Autoren

    TYPO3 CMS 7 LTS - Whats New

  • Sources and Authors

    Quellennachweis

    TYPO3 News:http://typo3.org/news

    Release Infos:https://wiki.typo3.org/Category:ReleaseNotes/TYPO3_7.xINSTALL.md and ChangeLog

    typo3/sysext/core/Documentation/Changelog/*

    TYPO3 Bug-/Issuetracker:https://forge.typo3.org/projects/typo3cms-core

    TYPO3 Git Repositories:https://git.typo3.org/Packages/TYPO3.CMS.githttps://git.typo3.org/Packages/TYPO3.Fluid.git

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/newshttps://wiki.typo3.org/Category:ReleaseNotes/TYPO3_7.xhttps://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.mdhttps://github.com/TYPO3/TYPO3.CMS/blob/master/ChangeLoghttps://forge.typo3.org/projects/typo3cms-corehttps://git.typo3.org/Packages/TYPO3.CMS.githttps://git.typo3.org/Packages/TYPO3.Fluid.git

  • Sources and Authors

    pluswerk

    pluswerk ist eine Full Service Agentur fr leidenschaftliche digitaleKommunikation mit 10 Standorten in Deutschland und ber 130 Mitarbeitern

    www.pluswerk.ag | +49 89 130 145 20 | facebook.com/pluswerk

    TYPO3 CMS 7 LTS - Whats New

  • TYPO3 CMS 7 LTS - Whats NewExtbase & Fluid

    Patrick Lobacher (Vorstand pluswerk AG)http://www.pluswerk.ag

    10/November/2015Creative Commons BY-NC-SA 3.0

  • Introduction

    TYPO3 CMS 7 LTS - Whats New

    Die folgenden Slides sind auf ein spezielles Thema fokussiert. Abhngig vonder Rolle, knnen die folgenden Themen ebenfalls interessant sein:

    BEUserInterface

    TypoScript

    In-DepthChanges

    Extbase/Fluid

    Deprecated/Rem

    oved

    Sys.Administration

    Redakteure XIntegratoren X X XEntwickler X X XSysAdmins X

    Download aller Whats New Slides unter typo3.org

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/download/release-notes/whats-new/

  • Extbase & Fluid

    Extbase & FluidExtbase und Fluid sind der de facto Standard wenn es um moderneTechnologien im TYPO3 Universum geht. Auch wenn Extbase einige wenigeneue Features spendiert bekommen hat, wurden in TYPO3 CMS 7 LTS diemeisten nderungen im Bereich Fluid vorgenommen.Einige ViewHelpers wurden aktualisiert, verbessert oder gar neueeingefhrt. So gibt es zum Beispiel nun einen MediaViewHelper, der dafrverwendet werden kann, um Video, Audio oder andere Media-Dateien imFrontend zu rendern.Zustzlich wurde die System Extension form auf Extbase & Fluid portiert.

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Template Path Fallback

    Sowohl Fluid Standalone View wie auch das TypoScript-ObjektFLUIDTEMPLATE untersttzen nun Fallback Pfadepage.10 = FLUIDTEMPLATEpage.10.file = EXT:myextension/Resources/Private/Templates/Main.htmlpage.10.partialRootPaths {

    10 = EXT:myextension/Resources/Private/Partials20 = EXT:fallback/Resources/Private/Partials

    }

    Verwendet man die alten Optionen (z.B. partialRootPath)zusammen mit den neuen, so wird die alte auf die erste Position in derFallback-Liste gestellt (Index = 0)

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Typolink ViewHelper

    Es wurde ein Typolink-ViewHelper zugefgt, der beispielsweise Felderauswerten und darstellen kann, die ber einen Link-Wizard im Backenderzeugt wurden

    link enthlt beispielsweise:42 _blank - "This is the link title" &foo=bar

    Ausgabe:

    Lediglich parameter wird bentigt, der Rest ist optional

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Allgemeine data-* Attribut

    Alle ViewHelper, die HTML Tags ausgeben, untersttzen nun das HTML5data-* AttributArray, welches als data bergeben wird, wird ausgewertet und dessenSchlssel-/Werte-Paar ergeben das Attribut: data-key="value"

    Beispiel:

    Ausgabe:

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Class Tag Values via Reflection

    Extbase Reflection-Service kann nun Tags bzw. Annotationszurckliefern, die zu einer Klasse zugefgt wurden

    Beispiel:/*** @SomeClassAnnotation A value*/

    class MyClass {}

    Die Annotation kann dann wie folgt ermittelt werden:$service = new \TYPO3\CMS\Extbase\Reflection\ReflectionService();

    // Returns all tags and their values the specified class is tagged with$classValues = $service->getClassTagsValues(MyClass);

    // Returns the values of the specified class tag$classValue = $service->getClassTagValue(MyClass, SomeClassAnnotation);

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    PaginateViewHelper

    Der Paginate-ViewHelper untersttzt nun folgende Input-Werte:

    QueryResultInterfaceObjectStorageArrayAccessarray

    Beispiel:

    {blog.title}

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    ContainerViewHelper ldt RequireJS Module

    Der ContainerViewHelper kann RequireJS-Module viaincludeRequireJsModules Attribut ladenBeispiel:

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Methode has() im ObjectAccess

    Fr die Benutzung in Fluid, object.property undobject.isProperty untersttzten bereits die folgenden Methoden:

    isProperty()getProperty()

    Neu in TYPO3 CMS 7.1: hasProperty()Hier wird die Method $object->hasProperty() aufgerufen, wennobject.hasProperty in Fluid benutzt wird

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Hochladen mehrerer Dateien im FormUpload-ViewHelper

    Der FormUpload-Viewhelper untersttzt das neue Attribut multiple,welches es ermglicht, mehrere Dateien auf einmal zu bertragen

    Hinweis: es ist darauf zu achten, dass fr das Property-Mapping eineigener TypeConverter erstellt werden muss!

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Callouts anstelle von FlashMessages

    An einigen Stellen im Backend werden nun Callouts anstelle vonFlashMessages verwendet

    Dafr wurde ein neuer Fluid ViewHelper be.infobox eingefhrt:

    Inhalt der Nachricht

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    format.case ViewHelper

    Es gibt nun einen format.case ViewHelper, der die Schreibweise vonStrings verndert:

    upper: Fhrt zu "UPPERCASE" (Grobuchstaben)lower: Fhrt zu "lowercase" (Kleinbuchstaben)capital: Fhrt zu einem groen Anfangsbuchstabenuncapital: Fhrt zu einem kleinen Anfangsbuchstaben

    // Fuehrt zu "SOME TEXT WITH MIXED CASE"Some TeXt WiTh miXed cAse

    // Fuehrt zu "SomeString"someString

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Diverses

    Parameter cHash wird nicht mehr an URLs angehngt, die auf eineAction leiten, welche nicht gecached wird oder wenn der Request nichtgecached wird.

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    ActionMenuItemGroupViewHelper (1)

    Mit diesem neuen ViewHelper knnen im Backend Optionen-Gruppenfr Select-Felder verwendet werden

    Beispiel:

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    ActionMenuItemGroupViewHelper (2)

    Beispiel auf der vorherigen Slide resultiert in folgender Ausgabe:

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Template-Support fr FlashMessagesViewHelper

    Der FlashMessagesViewHelper hat nun Template UntersttzungMit dem neuen Attribut as kann man eine Variable festlegen, ber derder Zugriff auf die Messages mglich ist

    Beispiel:

    {flashMessage.title}{flashMessage.message}

    Die Option renderMode ist ab sofort "deprecated"!

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Neue Eigenschaften im cObject FLUIDTEMPLATE (1)

    Das cObject FLUIDTEMPLATE wurde um die EigenschaftentemplateRootPaths und templateName ergnztMan kann nun einen Template-Namen setzen, der zusammen mit demFormat im angegebenen Template-Pfad gesucht wird

    templateRootPaths hat die selbe Fallback-Logik wielayoutRootPath und partialRootPath

    templateName (string/stdWrap)templateRootPaths (Array mit Datei-Pfaden und "EXT:" Untersttzung)

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Neue Eigenschaften im cObject FLUIDTEMPLATE (2)

    TypoScript Beispiel:lib.stdContent = FLUIDTEMPLATElib.stdContent {

    templateName = TEXTtemplateName.stdWrap {

    cObject = TEXTcObject {

    data = levelfield:-2,backend_layout_next_level,slideoverride.field = backend_layoutsplit {

    token = frontend__1.current = 11.wrap = |

    }}ifEmpty = Default

    }templateRootPaths {

    10 = EXT:frontend/Resources/Private/Templates20 = EXT:sitemodification/Resources/Private/Templates

    }}

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Entfernung von xmlns-Attributes und des HTML-Tags (1)

    Durch die Einfhrung von xmlns:*-Attributen in Tags ist es einer IDEmglich Fluid direkt zu untersttzen (z.B. Syntax-Highlighting,Autovervollstndigung, usw.).Diese Attribute werden allerdings auch ausgegeben.

    Der Workaround, den eigentlichen Inhalt in Sections auszulagern, ist inLayouts nicht mglich und zudem nicht intuitiv

    Daher wird ein Namespace, sofern dieser den Aufbauhttp://typo3.org/ns/ hat, automatisch entfernt(alle anderen Namespaces bleiben erhalten)

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Entfernung von xmlns-Attributes und des HTML-Tags (2)

    Verwendet man im HTML-Tag das Attributdata-namespace-typo3-fluid="true", wird das gesamteHTML-Tag (ffnendes und schlieendes) nicht gerendert

    {newsItem.title}

    News-Detail

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Neue Methoden im Fluid-StandaloneView

    Der StandaloneView wird mit den MethodensetTemplateRootPaths($templatePaths) undsetTemplate($templateName, $throwException = TRUE)erweitert

    Selbe Funktionalitt wie im cObject FLUIDTEMPLATEBeispiel (Rendern eines Email-Templates):$view = GeneralUtility::makeInstance(StandaloneView::class);$view->setLayoutRootPaths(array(GeneralUtility::getFileAbsFileName(

    EXT:my_extension/Resources/Private/Layouts)));$view->setPartialRootPaths(array(GeneralUtility::getFileAbsFileName(

    EXT:my_extension/Resources/Private/Partials)));$view->setTemplateRootPaths(array(GeneralUtility::getFileAbsFileName(

    EXT:my_extension/Resources/Private/Templates)));$view->setTemplate(Email/Notification);$emailBody = $view->render();

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Data Processing fr FLUIDTEMPLATE cObject (1)

    Das cObject FLUIDTEMPLATE wird mit der Option dataProcessing(enthlt ein Array aus FQCN) ausgerstet, mit dessen Hilfe man das$data Array manipulieren kann, welches das aktuell zu renderndeObjekt (wie page oder tt_content) enthltDer Prozessor muss das InterfaceFluidTemplateDataProcessorInterface implementieren undfolgende Methode enthalten:

    function process(array &$data, array $processorConfiguration,array $configuration, StandaloneView $view) {

    [...]}

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Data Processing fr FLUIDTEMPLATE cObject (2)

    Beispiel:my_custom_ctype = FLUIDTEMPLATEmy_custom_ctype {

    templateRootPaths {10 = EXT:your_extension_key/Resources/Private/Templates

    }templateName = CustomNamesettings {

    extraParam = 1}dataProcessing {

    1 = Vendor\YourExtensionKey\DataProcessing\MyFirstCustomProcessor2 = AnotherVendor\AnotherExtensionKey\DataProcessing\MySecondCustomProcessor2 {

    options {myOption = SomeValue

    }}

    }}

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Section-Anker fr Pagination Widget

    Es ist nun mglich einen Section-Anker im Pagination Widget zuverwenden

    Dazu gibt es den Schlssel section im Attribut configurationIm folgenden Beispiel wird der Anker #archive an jeden Widget-Linkangehngt:

    [...]

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Attribut base fr Date-ViewHelper

    Der Date-ViewHelper wurde um das optionale Attribut base ergnztDamit kann man relative Berechnungen durchfhren

    Wird das Datum als DateTime angegeben, wird base ignoriertErlaubte Werte: siehe PHP Dokumentation

    Das folgende Beispiel gibt "2016" zurck, wenn das Objekt "dateObject"ein beliebiges Datum in 2017 enthlt:

    -1 year

    TYPO3 CMS 7 LTS - Whats New

    http://www.php.net/manual/en/datetime.formats.relative.php

  • Extbase & Fluid

    dataProcessing bei FLUIDTEMPLATE

    Mit TYPO3 CMS 7.3 wurde die Option dataProcessing beimContent-Objekt FLUIDTEMPLATE eingefhrtHierfr ndert sich das zu implementierende Interface vonFluidTemplateDataProcessorInterface inDataProcessorInterface und damit auch die Methode process()public function process(

    ContentObjectRenderer $cObj,array $contentObjectConfiguration,array $processorConfiguration,array $processedData

    );

    BREAKING CHANGE!

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Severity-Filter fr FlashMessages

    Bislang konnten nur alle FlashMessages auf einmal ermittelt und/odergelscht werden

    Nun kann man diese entsprechend der Severity (Gewichtung) filtern

    FlashMessageQueue::getAllMessages($severity);FlashMessageQueue::getAllMessagesAndFlush($severity);FlashMessageQueue::removeAllFlashMessagesFromSession($severity);FlashMessageQueue::clear($severity);

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Query-Support fr between hinzugefgt

    Es wurde between zum Extbase Query Objekt hinzugefgt, welchesprft, ob sich ein Wert innerhalb einer oberen und unteren Grenze(einschlielich) befindet

    Dies wird zu (min between(uid, 3, 5)

    );

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Mehrere Message-Queues

    Es knnen nun mehrere Message-Queues in Extbase realisiert werden:

    $queueIdentifier = myQueue;$this->controllerContext->getFlashMessageQueue($queueIdentifier);

    In Fluid kann wie folgt darauf zugegriffen werden:

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Media-ViewHelper (1)

    Um Medien komfortabel im Frontend rendern zu knnen (z.B. Video,Audio, registrierte Renderer), wurde ein MediaViewHelper zugefgt

    Zuerst versucht der ViewHelper den Renderer aufzurufen; schlgt diesfehl, wird ein Image-Tag gerendert

    Beispiel:

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Media-ViewHelper (2)

    Beispiel (Fortsetzung):

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    System-Extension form (1)

    Die System-Extension form (inkl. Daten-Model, Controller-Logig,Property Validation, Views und Templating) wurde so adaptiert, dassder Extbase/Fluid MVC Stack untersttzt wird

    Die Ausgabe basiert nun komplett auf Fluid und kann somitentsprechend angepasst werden. Pro Form-Element gibt es eineigenes Partial, welches nun auch individuell ber dieTypoScript-Option partialPath = ... angepasst werden kannEs wurden drei neue ViewHelper implementiert:

    AggregateSelectOptionsViewHelper (fr optgroup Tags)SelectViewHelper (fr von optgroup Tags)PlainMailViewHelper (zum Rendern von Plaintext Mails)

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    System-Extension form (2)

    Auerdem gibt drei Views:

    show (das Formular selbst)confirmation (die Besttigungsseite)postProcessor/mail (die Email)

    Die Template-Pfade und Sichtbarkeiten der Felder knnen fr jedenView individuell angepasst werden

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Annotation @cli

    Eine neue Annotation @cli wurde eingefhrt:wird diese beim CommandController verwendet, so kann dieser nur aufder Kommandozeile, aber nicht im Scheduler verwendet werden

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    Relationen zu gleichen Tabellen

    Es nun mglich ein Domain Model zu verwenden, in der ein Objekt eineRelation zu einem anderen Objekt der selben Klasse hatnamespace \Vendor\Extension\Domain\Model;class A {

    /*** @var \Vendor\Extension\Domain\Model\A*/

    protected $parent;}

    namespace \Vendor\Extension\Domain\Model;class A {

    /*** @var \Vendor\Extension\Domain\Model\B*/

    protected $x;

    /*** @var \Vendor\Extension\Domain\Model\B*/

    protected $y;}

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    absolute Option fr Image-ViewHelper

    Der ImageViewhelper und Uri/ImageViewHelper haben nun eine Optionabsolute, mit der eine absolute URL ausgegeben werden kann.Beispiel 1 (ImageViewhelper):

    // Ausgabe

    Beispiel 2 (Uri/ImageViewHelper):

    // Ausgabehttp://www.mydomain.com/fileadmin/_processed_/323223424.png

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    ViewHelper um Whitespaces in HTML zu entfernen

    Es wurde ein ViewHelper spaceless eingefhrt, um berflssigeLeerzeichen zwischen HTML-Tages zu entfernen. Beispiel:

    text

    text

    Ausgabe:text

    text

    TYPO3 CMS 7 LTS - Whats New

  • Extbase & Fluid

    RootLevel Konfiguration

    Der RootLevel einer Tabelle kann nun im TCA konfiguriert werden(damit wird festgelegt, wo die zugehrigen Datenstze gesucht werden)

    0: Nur im Seitenbaum1: Nur auf der Root-Seite (PID 0)-1: In beiden

    Zudem muss das TCA konfiguriert werden:$GLOBALS[TCA][tx_myext_domain_model_record][ctrl][rootLevel] = -1;

    TYPO3 CMS 7 LTS - Whats New

  • Sources and Authors

    Quellen und Autoren

    TYPO3 CMS 7 LTS - Whats New

  • Sources and Authors

    Quellennachweis

    TYPO3 News:http://typo3.org/news

    Release Infos:https://wiki.typo3.org/Category:ReleaseNotes/TYPO3_7.xINSTALL.md and ChangeLog

    typo3/sysext/core/Documentation/Changelog/*

    TYPO3 Bug-/Issuetracker:https://forge.typo3.org/projects/typo3cms-core

    TYPO3 Git Repositories:https://git.typo3.org/Packages/TYPO3.CMS.githttps://git.typo3.org/Packages/TYPO3.Fluid.git

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/newshttps://wiki.typo3.org/Category:ReleaseNotes/TYPO3_7.xhttps://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.mdhttps://github.com/TYPO3/TYPO3.CMS/blob/master/ChangeLoghttps://forge.typo3.org/projects/typo3cms-corehttps://git.typo3.org/Packages/TYPO3.CMS.githttps://git.typo3.org/Packages/TYPO3.Fluid.git

  • Sources and Authors

    pluswerk

    pluswerk ist eine Full Service Agentur fr leidenschaftliche digitaleKommunikation mit 10 Standorten in Deutschland und ber 130 Mitarbeitern

    www.pluswerk.ag | +49 89 130 145 20 | facebook.com/pluswerk

    TYPO3 CMS 7 LTS - Whats New

  • TYPO3 CMS 7 LTS - Whats Newnderungen im System

    Patrick Lobacher (Vorstand pluswerk AG)http://www.pluswerk.ag

    10/November/2015Creative Commons BY-NC-SA 3.0

  • Introduction

    TYPO3 CMS 7 LTS - Whats New

    Die folgenden Slides sind auf ein spezielles Thema fokussiert. Abhngig vonder Rolle, knnen die folgenden Themen ebenfalls interessant sein:

    BEUserInterface

    TypoScript

    In-DepthChanges

    Extbase/Fluid

    Deprecated/Rem

    oved

    Sys.Administration

    Redakteure XIntegratoren X X XEntwickler X X XSysAdmins X

    Download aller Whats New Slides unter typo3.org

    TYPO3 CMS 7 LTS - Whats New

    http://typo3.org/download/release-notes/whats-new/

  • nderungen im System

    nderungen im SystemDurch die berarbeitung aller Komponenten und der Entfernung veralteterTechnologien, ist das Backend von TYPO3 CMS 7 LTS nun deutlich schnellergeworden im Vergleich zu lteren Versionen.Der Performance-Boost ist aber nicht die einizige nderung im Backend -viele weitere nderungen wurden im Core durchgefhrt. PHP Code wurdeaufgerumt, einige Komponenten in Extbase neu geschrieben und vieleneue Features wurden mit Hilfe von aktuallen Technologien undProgrammier-Paradigmen implementiert.

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Integration von jQuery UI 1.11.2

    jQuery UI 1.11 untersttzt AMD (Asynchronous Module Definition), mitwelcher JavaScript Dateien erst geladen werden, wenn sie bentigtwerden (Geschwindigkeitsvorteil)

    jQuery UI 1.11 ersetzt jQuery UI 1.10 + Scriptaculous in TYPO3 CMS 7.0

    Es werden nur der Core und Interaction Components inkludiert, dienotwendig sind, um ExtJS und Scriptaculous zu ersetzen.

    Widgets werden nicht inkludiert, sondern ber Bootstrap realisiert(z.B. DatePicker, Spinner, Dialog, Buttons, Tabs, Tooltip)

    TYPO3 CMS 7 LTS - Whats New

    http://en.wikipedia.org/wiki/Asynchronous_module_definition

  • nderungen im System

    Registry fr die File Rendering Classes

    Um verschiedene Dateiformate zu rendern, wird eine Registry bentigt,bei der sich FileRenderer registrieren knnen. Dies geschieht fr"Name" (z.B. Video, MPEG, AVI, WAV, ...) wie folgt:

  • nderungen im System

    Evaluierungsfunktion "email" fr das TCA

    Fr das TCA wurde eine neue Evaluierungsfunktion "email" hinzugefgt,welche serverseitig berprft, ob ein eingegebener Wert eine gltigeEmail ist. Im Fehlerfall wird eine Flash-Message ausgegeben

    Example:

    emailaddress => array(exclude => 1,label => LLL:EXT:myextension/Resources/Private/Language/locallang_db

    .xlf:tx_myextensionconfig => array(

    type => input,size => 30,eval => email,trim

    ),)

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Einfhrung einer abstrakten Condition in TypoScript

    Es gibt nun eine AbstractCondition, von der eigene Conditions ableitenknnenclass TestCondition

    extends \TYPO3\CMS\Core\Configuration\TypoScript\ConditionMatching\AbstractCondition {

    public function matchCondition(array $conditionParameters) {if ($conditionParameters[0] === = 7 && $conditionParameters[1] === != 6) {throw new TestConditionException(All Ok, 1411581139);

    }}

    }

    Die Verwendung in TypoScript sieht wie folgt aus:[Vendor\Package\TestCondition][Vendor\Package\TestCondition = 7][Vendor\Package\TestCondition = 7, != 6]

    Welche Operatoren in der Condition zur Verfgung stehen, wird in derKlasse selbst festgelegt

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Signal zur Manipulation des HTML-Tags in IconUtility

    Signal fr IconUtility zur HTML-Tag Manipulation

    dispatch(TYPO3\\CMS\\Backend\\Utility\\IconUtility,buildSpriteHtmlIconTag,array($tagAttributes, $innerHtml, $tagName)

    );

    Wird aufgerufen in:

    TYPO3\CMS\Backend\Utility\IconUtility\buildSpriteHtmlIconTag

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Signal Slots fr SoftReferenceIndex

    Zwei neue Signal Slot Dispatch Calls innerhalb von SoftReferenceIndex:protected function emitGetTypoLinkParts(

    $linkHandlerFound, $finalTagParts, $linkHandlerKeyword, $linkHandlerValue) {return $this->getSignalSlotDispatcher()->dispatch(

    get_class($this),getTypoLinkParts,array($linkHandlerFound, $finalTagParts, $linkHandlerKeyword, $linkHandlerValue)

    );}protected function emitSetTypoLinkPartsElement(

    $linkHandlerFound, $tLP, $content, $elements, $idx, $tokenID) {return $this->getSignalSlotDispatcher()->dispatch(

    get_class($this),setTypoLinkPartsElement,array($linkHandlerFound, $tLP, $content, $elements, $idx, $tokenID, $this)

    );}

    Wird augerufen in:TYPO3\CMS\Core\Database\SoftReferenceIndex->findRef_typolinkTYPO3\CMS\Core\Database\SoftReferenceIndex->getTypoLinkParts

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Signal Slots fr afterPersistObjects

    Bislang gab es nur ein Signal, wenn ein Objekt im Repository (Extbase)aktualisiert wurde: afterUpdateDa aber ein Aggregate Root beispielsweise Subobjekte ebenfallspersistiert, bentigt es ein Signal, welches erst dann emmitiert wird,wenn alle Objekte eines Aggregate Roots persistiert wurden:protected function emitAfterPersistObjectSignal(DomainObjectInterface $object) {

    $this->signalSlotDispatcher->dispatch(__CLASS__, afterPersistObject, array($object));}

    Wird aufgerufen in:TYPO3\CMS\Extbase\Persistence\Generic\Backend->persistObject

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Signal Slots fr loadBaseTca

    Mit diesem Signal kann das gesamte TCA (anstelle von Teilen) gecachtwerden

    protected function emitTcaIsBeingBuiltSignal(array $tca) {list($tca) = static::getSignalSlotDispatcher()->dispatch(

    __CLASS__,tcaIsBeingBuilt,array($tca)

    );$GLOBALS[TCA] = $tca;

    }

    Wird audgerufen in:

    TYPO3\CMS\Core\Utility\ExtensionManagementUtility\Backend->buildBaseTcaFromSingleFiles

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    API um gecachte TCA nderungen zuzufgen

    PHP Dateien in extkey/Configuration/TCA/Overrides/ werdenausgefhrt, direkt nachdem der TCA-Cache aufgebaut wurde

    Die Dateien drfen nur Code enthalten, der das TCA manipuliert,wie beispielsweise: addTCAColumns oder addToAllTCATypesSobald Extensions dieses Features verwenden, ist mit einem deutlichenGeschwindigkeitsschub von Backend Requests zu rechnen

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Nur-lesender Zugriff auf File Mounts

    File Mounts knnen (wieder) mit nur-lesenden Zugriff konfiguriertwerden ("read-only")

    Jenes war bereits in TYPO3 CMS 4.x mglich, wurde aber inTYPO3 CMS 6.x entfernt

    Zum Beispiel: Ordner "test" vom storage UID 3 als Mount mit nurlesenden Zugriff in der Dateiliste und dem Element Browser:

    options.folderTree.altElementBrowserMountPoints = 3:/test

    Falls kein Storage angegeben wird, geht man davon aus, dass sich derOrdner im Default Storage befindet.

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Sonstiges

    jQuery wurde von Version 1.11.0 auf Version 1.11.1 aktualisiert

    Datatables wurde von Version 1.9.4 zu Version 1.10.2 aktualisiert

    Einige alte, nicht mehr benutzte Variablen wurden von EM_CONFentfernt

    Extension Icons knnen nun auch im SVG Bildformat vorliegen(ext_icon.svg)Das Senden eines unbekannten eID Identifikators im Request resultiertnun in eine Exception

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    TCA: Maximum chars in text element

    TCA-Typ text untersttzt nun das HTML5-Attribut maxlength, um diemaximale Anzahl der einzugebenden Zeichen zu beschrnken (Hinweis:Zeilenumbrche zhlen hierbei als zwei Zeichen)

    teaser => array(label => Teaser,config => array(

    type => text,cols => 60,rows => 2,max => 30 //

  • nderungen im System

    New SplFileInfo implementation

    Neue Klasse: TYPO3\CMS\Core\Type\File\FileInfoDiese erweitert SplFileInfo, die wiederrum Meta-Informationen vonDateien ermittelt

    $fileIdentifier = /tmp/foo.html;$fileInfo = GeneralUtility::makeInstance(

    \TYPO3\CMS\Core\Type\File\FileInfo::class,$fileIdentifier

    );echo $fileInfo->getMimeType(); // output: text/html

    Entwickler knnen ber folgenden Hook auf die Funktionalittzugreifen:

    $GLOBALS[TYPO3_CONF_VARS][SC_OPTIONS][\TYPO3\CMS\Core\Type\File\FileInfo::class][mimeTypeGuessers]

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    UserFunc in TCA Display Condition

    userFunc displayCondition ermglicht es auf jeden erdenklichenStatus und jede Condition zu prfen

    Sollte irgendeine Situation nicht mit den existierenden Checksabgefangen werden knnen, ist es auch mglich, eigene Funktionen zuschreiben (diese mssen lediglich TRUE/FALSE zurckgeben, um dasentsprechende TCA Field sichtbar zu machen oder zu verbergen)

    $GLOBALS[TCA][tt_content][columns][bodytext][displayCond] =USER:Vendor\\Example\\User\\ElementConditionMatcher->

    checkHeaderGiven:any:more:information;

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    API fr Twitter Bootstrap Modals (1)

    Zwei neue API Methoden um Modal Popups zu erzeugen/entfernen:TYPO3.Modal.confirm(title, content, severity, buttons)TYPO3.Modal.dismiss()

    Optionen title und content sind mindestens erforderlichOptionen buttons.text und buttons.trigger sind erforderlich,wenn buttons verwendet wirdBeispiel 1:

    TYPO3.Modal.confirm(The title of the modal, // titleThis the the body of the modal, // contentTYPO3.Severity.warning // severity

    );

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    API fr Twitter Bootstrap Modals (2)

    Beispiel 2:TYPO3.Modal.confirm(Warning, You may break the internet!,

    TYPO3.Severity.warning,[

    {text: Break it,active: true,trigger: function() { ... }

    },{

    text: Abort!,trigger: function() {

    TYPO3.Modal.dismiss();}

    }]

    );

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    JavaScript Storage API (1)

    Mittels JavaScript kann auf die BE User Konfiguration zugegriffenwerden ($BE_USER->uc, einfache Key-Value Paare)Zustzlich kann nun auch der HTML5 Standard localStorage verwendetwerden, um Daten (Client-seitig) im Browser des Benutzers zuspeichern und auszulesenZwei neue global TYPO3 Objekte:

    top.TYPO3.Storage.Clienttop.TYPO3.Storage.Persistent

    Jedes Objekt hat folgende API Methoden:get(key): Daten holenset(key,value): Daten schreibenisset(key): Prfen, ob key genutzt wirdclear(): Lschen des Speichers

    TYPO3 CMS 7 LTS - Whats New

    http://www.w3.org/TR/webstorage/

  • nderungen im System

    JavaScript Storage API (2)

    Beispiel:

    // get value of key startModulevar value = top.TYPO3.Storage.Persistent.get(startModule);

    // write value web_info as key start_moduletop.TYPO3.Storage.Persistent.set(startModule, web_info);

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Inline Rendering von Checkboxes

    Die Konfiguration inline sorgt bei "cols" dafr, dass Checkboxennebeneinander dargestellt werden, um Platz im Backend User Interfacezu sparenweekdays => array(

    label => Weekdays,config => array(

    type => check,items => array(

    array(Mo, ),array(Tu, ),array(We, ),array(Th, ),array(Fr, ),array(Sa, ),array(Su, )

    ),cols => inline

    )),...

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Content Object Registration

    Es wurde eine neue globale Option eingefhrt, um cObjects wie TEXTzu registrieren bzw. zu erweiternEine Liste aller verfgbaren cObjects ist verfgbar als:$GLOBALS[TYPO3_CONF_VARS][FE][ContentObjects]

    Beispiel: ein neues cObject EXAMPLE registrieren$GLOBALS[TYPO3_CONF_VARS][FE][ContentObjects][EXAMPLE] =

    Vendor\MyExtension\ContentObject\ExampleContentObject::class;

    Die registrierte Klasse muss von der folgenden Klasse ableiten:TYPO3\CMS\Frontend\ContentObject\AbstractContentObjectIdealerweise speichert man seine Datei im Verzeichnistypo3conf/myextension/Classes/ContentObject/um fr zuknftige Autoload-Funktionen vorbereitet zu sein

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Hooks und Signals (1)

    Neuer Hook wurde am Ende von PageRepository->init()hinzugefgt, mit dem die Sichtbarkeit von Seiten beeinflusst werdenkann

    Der Hook kann wie folgt registriert werden:

    $GLOBALS[TYPO3_CONF_VARS][SC_OPTIONS][\TYPO3\CMS\Frontend\Page\PageRepository::class][init]

    Die Hook-Klasse muss das folgende Interface implementieren:

    \TYPO3\CMS\Frontend\Page\PageRepositoryInitHookInterface

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Hooks und Signals (2)

    Neuer Hook wurde zu PageLayoutView hinzugefgt, um das Renderingdes Footers von Inhaltselementen im Backend manipulieren zu knnen

    Beispiel:

    $GLOBALS[TYPO3_CONF_VARS][SC_OPTIONS][cms/layout/class.tx_cms_layout.php][tt_content_drawFooter];

    Die Hook-Klasse muss das folgende Interface implementieren:

    \TYPO3\CMS\Backend\View\PageLayoutViewDrawFooterHookInterface

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Hooks und Signals (3)

    Es wurde ein Hook als Post-Prozessor zuBackendUtility::countVersionsOfRecordsOnPage hinzugefgt

    Dieser wird z.B. verwendet, um Workspace-Zustnde im Seitenbaum zuvisualisieren

    Der Hook kann wie folgt registriert werden:

    $GLOBALS[TYPO3_CONF_VARS][SC_OPTIONS][t3lib/class.t3lib_befunc.php][countVersionsOfRecordsOnPage][] =My\Package\HookClass->hookMethod;

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Hooks und Signals (4)

    Neues Signal wurde am Ende der MethodeDataPreprocessor::fetchRecord() hinzugefgtJenes kann dazu verwendet werden, um das ArrayregTableItems_data zu manipulieren, damit die manipuliertenDaten in TCEForms angezeigt werden knnen

    $this->getSignalSlotDispatcher()->dispatch(\TYPO3\CMS\Backend\Form\DataPreprocessor::class,fetchRecordPostProcessing,array($this)

    );

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Hooks und Signals (5)

    Neues Signal wurde eingefhrt, um zustzlichen Code bei derRegistrierung des Mailer-Objekts auszufhren (z.B. Swift Mailer Plugins)$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(

    \TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);

    $signalSlotDispatcher->connect(\TYPO3\CMS\Core\Mail\Mailer::class,postInitializeMailer,\Vendor\Package\Slots\MailerSlot::class,registerPlugin

    );

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Multiple UID in PageRepository::getMenu()

    Methode PageRepository::getMenu() kann nun auch ein Arrayaufnehmen, um meherer Root-Seiten zu definieren

    $pageRepository = new \TYPO3\CMS\Frontend\Page\PageRepository();$pageRepository->init(FALSE);$rows = $pageRepository->getMenu(array(2, 3));

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    SVG Support im Core

    Der Core untersttzt nun SVG-Bilder ("Scalable Vector Graphics")

    Wenn ein SVG-Bild skaliert wird, wird kein prozessiertes Bild abgelegt,dafr aber die neuen Grenangaben in einem Datensatzsys_file_processedfile gespeichert(auer, das Bild wird - z.B. durch Cropping - weiterverarbeitet).

    Zudem wurde ein zustzlicher Fallback eingebaut, fallsImageMagick/GraphicsMagick nicht in der Lage sein sollte, dieDimensionen zu berechnen: in diesem Fall wird das XML ausgelesen.

    SVG wurde auerdem zur Liste der zulssigen Bildtypen hinzugefgt:$GLOBALS[TYPO3_CONF_VARS][GFX][imagefile_ext]

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Erweiterung der FAL-Treiber

    Um die Performance der Dateiliste bei (Remote-)Storages innerhalbvon FAL zu erhhen, ist es notwendig, die Sortierung und das Ermittelnder Anzahl direkt im Treiber zu erledigen. Dafr wurden zwei neueParameter sort und sortRev eingebracht:public function getFilesInFolder($folderIdentifier, $start = 0, $numberOfItems = 0,

    $recursive = FALSE, array $filenameFilterCallbacks = array(), $sort = , $sortRev = FALSE);

    public function getFoldersInFolder($folderIdentifier, $start = 0, $numberOfItems = 0,$recursive = FALSE, array $folderNameFilterCallbacks = array(), $sort = , $sortRev = FALSE);

    Auerdem wurden zwei neue Methoden eingefhrt:public function getFilesInFolderCount($folderIdentifier, $recursive = FALSE,

    array $filenameFilterCallbacks = array());

    public function getFoldersInFolderCount($folderIdentifier, $recursive = FALSE,array $folderNameFilterCallbacks = array());

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Backend Routing API (1)

    Der Core enthlt nun eine Backend Routing API, welche die Entry Pointsins Backend verwaltet

    Die Routing API wurde vom Symfony Routing Framework inspiriert undist weitgehend kompatibel mit dieser(auch wenn fr TYPO3 zur Zeit nur ca. 20% genutzt werden)

    Grundstzlich existieren hierfr drei Klassen:class Route: enthlt Angaben zum Pfad und Optionenclass Router: API, um die Route zu matchenclass UrlGenerator: generiert die URL

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Backend Routing API (2)

    Routen werden dabei in folgender Datei in der entsprechendenExtension definiert: Configuration/Backend/Routes.php(siehe Systemextension backend als Beispiel)

    Weitere Informationen zur Backend Routing API:http://wiki.typo3.org/Blueprints/BackendRouting

    TYPO3 CMS 7 LTS - Whats New

    http://wiki.typo3.org/Blueprints/BackendRouting

  • nderungen im System

    Neue Systemextension fr Media Inhaltselemente

    Neue Systemextension "mediace" enthlt folgende cObjects:MULTIMEDIAMEDIASWFOBJECTFLOWPLAYERQTOBJECT

    Die Inhaltselemente media und multimedia wurden ebenfalls in dieSystemextension verschoben, ebenso der "Media Wizard Provider"

    Die Extension ist standardmig nicht installiert!

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Fremd-Bibliotheken an neuer Stelle

    Smtliche Fremd-Bibliotheken werden nicht mehr inPackages/Libraries, sondern in typo3/contrib/vendorabgelegt

    Grundstzlich ist dafr die Installation der Bibliotheken mittelscomposer install notwendigProbleme gibt es beim Upgrade einer Installation, wenn dort phpunitverwendet wurde! Dies kann wie folgt behoben werden:

    # cd htdocs/# rm -rf typo3/contrib/vendor/ bin/ Packages/Libraries/ composer.lock# composer install

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    API fr JavaScript Notifikationen

    Neue API, um JavaScript Notifikationen zu erzeugen:// Bisheriger (veralteter) Weg:top.TYPO3.Flashmessages.display(TYPO3.Severity.notice)

    // Neuer Weg:top.TYPO3.Notification.notice(title, message)

    Es existieren folgende API-Funktionen:(Parameter duration ist optional und standardmig auf 5s eingestellt)

    top.TYPO3.Notification.notice(title, message, duration)top.TYPO3.Notification.info(title, message, duration)top.TYPO3.Notification.success(title, message, duration)top.TYPO3.Notification.warning(title, message, duration)top.TYPO3.Notification.error(title, message, duration)

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Systeminformationen (1)

    Das Dropdown mit Systeminformationen kann ber folgenden Sloterweitert werden:$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(

    \TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);

    $signalSlotDispatcher->connect(\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class,getSystemInformation,\Vendor\Extension\SystemInformation\Item::class,getItem

    );

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Systeminformationen (2)

    Zur Ansprache bentigt man die Klasse Item und dazugehrig dieMethode getItem() innerhalb einer ExtensionEXT:extension\Classes\SystemInformation\Item.php:class Item {

    public function getItem() {return array(array(

    title => The title shown on hover,value => Description shown in the list,status => SystemInformationHookInterface::STATUS_OK,count => 4,icon => \TYPO3\CMS\Backend\Utility\IconUtility::getSpriteIcon(

    extensions-example-information-icon)));

    }}

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Systeminformationen (3)

    Das Icon extensions-example-information-icon wird in derDatei ext_localconf.php registriert:\TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons(

    array(information-icon => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath(

    $_EXTKEY) . Resources/Public/Images/Icons/information-icon.png),

    $_EXTKEY);

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Systeminformationen (4)

    Nachrichten werden am unteren Ende des Dropdowns angezeigt

    ber den folgenden Slot knnen eigene Nachrichten eingebrachtwerden:$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(

    \TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class);

    $signalSlotDispatcher->connect(\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::class,loadMessages,\Vendor\Extension\SystemInformation\Message::class,getMessage

    );

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Systeminformationen (5)

    Zur Ansprache bentigt man die Klasse Message und dazugehrig dieMethode getMessage() innerhalb einer ExtensionEXT:extension\Classes\SystemInformation\Message.php:class Message {

    public function getMessage() {return array(array(

    status => SystemInformationHookInterface::STATUS_OK,text => Something went wrong. Take a look at the reports module.

    ));}

    }

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Einstellungen fr Bild-Manipulation (1)

    Folgende Einstellungen knnen ber TypoScript gettigt werden:

    # Cropping fuer alle Bilder deaktivierentt_content.image.20.1.file.crop =

    # Ueberschreiben/Setzen der Cropping Eigenschaften# offsetX,offsetY,width,heighttt_content.image.20.1.file.crop = 50,50,100,100

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Einstellungen fr Bild-Manipulation (2)

    Das Cropping kann auch in Fluid verwendet werden:

    # Cropping fuer alle Bilder deaktivieren

    # Ueberschreiben/Setzen der Cropping Eigenschaften# offsetX,offsetY,width,height

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Einstellungen fr Bild-Manipulation (3)

    Im TCA wird das Image-Cropping wie folgt zur Verfgung gestellt:

    Column Type: image_manipulationConfig file_field: string (default: uid_local)Config enableZoom: boolean (default: FALSE)Config allowedExtensions: string(default: $GLOBALS[TYPO3_CONF_VARS][GFX][imagefile_ext])Config ratios: array, default:array(

    1.7777777777777777 => 16:9,1.3333333333333333 => 4:3,1 => 1:1,NaN => Free

    )

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Zustzliche Parameter fr HTMLparser userFunc

    Die userFunc im HTMLparser kann nun zustzliche Parameteraufnehmen:myobj = TEXTmyobj.value = MyTextmyobj.HTMLparser.tags.a.fixAttrib.class {

    userFunc = Tx\MyExt\Myclass->htmlUserFuncuserFunc.myparam = test

    }

    Diese knnen in einer Extension wie folgt abgerufen werden:function htmlUserFunc(array $params, HtmlParser $htmlParser) {

    // $params[attributeValue] enthaelt den Wert der// verarbeiteten Eigenschaft - hier also "myclass"// $params[myparam] enthaelt den Wert "test"...

    }

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Locking API (1)

    Es wurde eine neue Locking-API eingefhrt, welche verschiedeneLocking-Methoden (SimpleFile, Semaphore, ...) zur Verfgung stellt

    Eine Locking-Methode muss dabei das LockingStrategyInterfaceimplementieren

    $lockFactory = GeneralUtility::makeInstance(LockFactory::class);$locker = $lockFactory->createLocker(someId);$locker->acquire() || die(Could not acquire lock.);...$locker->release();

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Locking API (2)

    Man kann auerdem "non-blocking" Locks realisieren:$lockFactory = GeneralUtility::makeInstance(LockFactory::class);$locker = $lockFactory->createLocker(

    someId,LockingStrategyInterface::LOCK_CAPABILITY_SHARED |

    LockingStrategyInterface::LOCK_CAPABILITY_NOBLOCK);try {

    $result = $locker->acquire(LockingStrategyInterface::LOCK_CAPABILITY_SHARED |LockingStrategyInterface::LOCK_CAPABILITY_NOBLOCK);

    catch (\RuntimeException $e) {if ($e->getCode() === 1428700748) {

    // einige Prozesse haben noch ein Lock// daher sollte etwas in der Zwischenzeit gemacht werden...

    }}if ($result) {

    $locker->release();}

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Signal nach Installation von Extensions

    In der Methode\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::install()wurde ein Signal eingebaut, welches emmitiert wird, sobald eineExtension fertig installiert ist und alle Imports/Updates durchgelaufensind// Aufruf$this->emitAfterExtensionInstallSignal($extensionKey);

    // Methodeprotected function emitAfterExtensionInstallSignal($extensionKey) {

    $this->signalSlotDispatcher->dispatch(__CLASS__,afterExtensionInstall,array($extensionKey, $this)

    );}

    TYPO3 CMS 7 LTS - Whats New

  • nderungen im System

    Registry fr Text-Extraktoren

    Der Core enth