Transcript
  • TYPO3 CMS 6.0 Die Neuerungen 27.11.2012 TYPO3 Patrick Lobacher (GF typovision GmbH)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 1
  • TYPO3 CMS 6.0 Back to the Future(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 2
  • TYPO3 CMS 6.0 Back to the FutureVerffentlicht: TYPO3 6.0.0 / 27.11.2012Release Team: Helmut Hummel (Release Manager) Susanne Moog Christian KuhnHauptziele: Mitarbeit frdern und untersttzen Code-Qualitt verbessern File Abstraction Layer integrieren Benutzerfreundlichkeit steigern(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 3
  • SYSTEMVORAUSSETZUNGEN(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 4
  • INDEX File Abstraction Layer (6) API (74) Extension Manager (27) Interna (80) LocalConguration (32) Extbase & Fluid (103) Allgemeines (37) Hooks (111) RTE (54) Deprecated Functions (116) TypoScript & TScong (56) Upgrade (119) Namespaces (64) Quellen (122) Logging API (70) TYPO3 Branding (125)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 5
  • FILE ABSTRACTION LAYER FAL(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 6
  • FAL ALLGEMEINES FAL: File Abstraction Layer Datei-Handling auf tiefer Ebene (ber DB) Wurde 2010 auf den Developer Days in Elmshorn gestartet Im Wesentlichen entwickelt von Benjamin Mack, Steffen Ritter, Ingmar Schlecht und Andreas Wolf Ist/War Bestandteil des BLE-Projekts 2011 Ziele: Dateien nicht mehr ber Dateipfad referenzieren Datenspeicherung unabhngig von leadmin/ ermglichen Versionierung von Dateien Metadatenverwaltung (DAM light) Verbessertes User-Interface(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 7
  • FAL GRUNDKONZEPTE Keine Kopien - nur Referenzen Storages sind Speicherorte (Remote oder lokal) Driver agieren als Art des Speichers (WebDAV, Cloud, ...) Bilder als IRRE-Datenstze inkl. Metadaten Benutzungs-Schicht (Usage Layer) Dateireferenz (FileReference) Speicher-Schicht (Storage Layer) Datei/Verzeichnis Speicher (File/Folder Storage) Mount-Point Treiber-Schicht (Driver Layer) low-level interface Treiber (Driver) Systemcalls(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 8
  • FAL CE TEXT/BILD Integration in CE Text/Bild(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 9
  • FAL CE TEXT/BILD Integration in CE Text/Bild - Anlegen von Medien per IRRE - Drag und Drop - Meta-Daten Eingabe(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 10
  • FAL FILEADMIN Fileadmin Integration - Edit Metadata(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 11
  • FAL DRIVER FAL Driver (Treiber) spezizieren die Art des Speicherns von Dateien Lokal: Ist bereits in TYPO3 eingebaut WebDAV: http://forge.typo3.org/projects/show/extension-fal_webdav Amazon S3 http://forge.typo3.org/projects/show/extension-fal_amazons3(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 12
  • FAL SCHEDULER JOB FAL Scheduler Job zum automatischen Indexieren von Dateien(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 13
  • FAL FILE COLLECTIONS 1 Anlegen von File Collections ber Systemdatensatz (Zwei Typen: Statisch und aus Folder)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 14
  • FAL FILE COLLECTIONS 2 Referenzieren von File Collections z.B. aus File Links Content Objekt(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 15
  • FAL FILE STORAGE 1 Anlegen eines File Storages ber den gleichnamigen Systemdatensatz(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 16
  • FAL FILE STORAGE 2 / MOUNT Auswahl des File Storages z.B. im Filemount(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 17
  • FAL TECHNIK DB Es gibt 5 neue Tabellen fr die Verwaltung von FAL sys_le Reprsentiert alle Dateien, die von TYPO3 getracked werden - Dateien mit zustzlichen Metadaten sys_le_collection Reprsentation einer Liste von sys_le Datenstzen sys_le_processedle Temporre Daten, wie Thumbnails, Previews, ... sys_le_reference Benutzung eines sys_le Eintrages irgendwo in der TYPO3-Installation - ist wie eine MM-Tabelle zwischen sys_le und z.B. tt_content:image inkl. den zustzlichen Meta-Daten fr die Verwendung sys_le_storage Deniert einen Root-Zugang zu einem Datei-Speicher - hnlich einem Mount-Point. Jeder Storage ist an einen Treiber gebunden (local, webdav, amazons3) und ist damit der Einstiegspunkt(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 18
  • FAL PROGRAMMIERUNG - BEISPIELE Programmierung: Datei kopieren $storageUid = 17; $someFileIdentifier = templates/images/banner.jpg; $someFolderIdentifier = website/images/; $storageRepository = TYPO3CMSCoreUtility GeneralUtility::makeInstance(TYPO3CMSCoreRessourceStorageRepository); $storage = $storageRepository->getByUid($storageUid); // returns a t3lib_file_File object $file = $storage->getFile($someFileIdentifier); // returns a t3lib_file_File object $folder = $storage->getFolder($someFolderIdentifier); // returns the t3lib_file_File object of the new, copied file $file->copyTo($folder); // oder equivalent $folder->addCopyOfFile($file);(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 19
  • FAL PROGRAMMIERUNG - BEISPIELE Programmierung: Alle Dateien eines Verzeichnisses auslesen $storageRepository = TYPO3CMSCoreUtility GeneralUtility::makeInstance(TYPO3CMSCoreRessourceStorageRepository); $availableStorages = $storageRepository->findAll(); foreach($availableStorages as $storage) { $rootFolder = $storage->getRootFolder(); $subFolders = $rootFolder->getSubFolders(); foreach($subFolders as $subFolder) { $filesInSubFolder = $subFolder->getFiles(); $foldersInSubFolder = $subFolder->getSubFolders(); ... } }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 20
  • FAL STORAGE FILE API Programmierung: General API getPublicUrl(TYPO3CMSCoreResourceResourceInterface $fileOrFolder, $relativeToCurrentScript = FALSE) isPathValid($theFile) sanitizeFileName($fileName, $charset = ) getAbsolutePath($file) getLowLevelFileInfo(TYPO3CMSCoreResourceFileInterface $file) hash(TYPO3CMSCoreResourceFileInterface $file, $hashAlgorithm) resourceExists($identifier) fileExists($identifier) fileExistsInFolder($fileName, TYPO3CMSCoreResourceFolder $folder) folderExists($identifier) folderExistsInFolder($folderName, TYPO3CMSCoreResourceFolder $folder)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 21
  • FAL STORAGE FILE API Programmierung: Storage API addFile($localFilePath, TYPO3CMSCoreResourceFolder $targetFolder, $fileName, TYPO3CMSCore ResourceAbstractFile $updateFileObject = NULL) createFile($fileName, TYPO3CMSCoreResourceFolder $parentFolder) getFile($identifier) getFileList($path, $start = 0, $numberOfItems = 0, $useFilters = TRUE, $loadIndexRecords = TRUE) hasFile($identifier) getFileContents(TYPO3CMSCoreResourceFileInterface $file) setFileContents(TYPO3CMSCoreResourceFileInterface $file, $contents) deleteFile(TYPO3CMSCoreResourceFileInterface $file) copyFile(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResourceFolder $targetFolder, $targetFileName = NULL, $conflictMode = renameNewFile) copyFileWithinStorage(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResource Folder $targetFolder, $fileName) copyFileToTemporaryPath(TYPO3CMSCoreResourceFileInterface $file) moveFile($file, $targetFolder, $targetFileName = NULL, $conflictMode = renameNewFile) moveFileWithinStorage(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResource Folder $targetFolder, $fileName) renameFile(TYPO3CMSCoreResourceFileInterface $file, $newName) updateFile(TYPO3CMSCoreResourceAbstractFile $file, $identifier = , $storage = NULL) replaceFile(TYPO3CMSCoreResourceFileInterface $file, $localFilePath) getFileForLocalProcessing(TYPO3CMSCoreResourceFileInterface $fileObject, $writable = TRUE) getFileInfoByIdentifier($fileIdentifier) getFileInfo($identifier) getFilePermissions(TYPO3CMSCoreResourceFileInterface $file)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 22
  • FAL STORAGE FOLDER API Programmierung: Folder API getRootLevelFolder() getDefaultFolder() createFolder($newFolderName, TYPO3CMSCoreResourceFolder $parentFolder) getFolderInFolder($name, TYPO3CMSCoreResourceFolder $parentFolder) moveFolderWithinStorage(TYPO3CMSCoreResourceFolder $folderToMove, TYPO3CMSCoreResource Folder $targetFolder, $newFolderName) copyFolderWithinStorage(TYPO3CMSCoreResourceFolder $folderToCopy, TYPO3CMSCoreResource Folder $targetFolder, $newFolderName) renameFolder(TYPO3CMSCoreResourceFolder $folder, $newName) deleteFolder(TYPO3CMSCoreResourceFolder $folder, $deleteRecursively = FALSE) isFolderEmpty(TYPO3CMSCoreResourceFolder $folder) getFolderPermissions(TYPO3CMSCoreResourceFolder $folder) isWithin(TYPO3CMSCoreResourceFolder $container, $content)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 23
  • FAL TYPOSCRIPT File-Information ber getText data = file:[UID|current]:[fieldName] kann entweder auf eine sys_le UID oder auf das aktuelle Element (ber current) zugegriffen werden. Anschlieend wird der Feldname notiert, den man auslesen will. page.10.data = file:current:title oder page.10.data = file:17:title(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 24
  • FAL TYPOSCRIPT: BEISPIEL cObject FILES 20 = FILES 20 { references { table = pages uid.data = page:uid fieldName = media } # oder: sys_file_references mit UID 27 references = 27 # UIDs aus sys_files page.10 = FILES files = 12,14,15 page.10.files = 12,15,16 # Mit stdWrap page.10.collections = 2,9 files.field = some_field page.10.folders = 1:mypics/ collections.field = file_collections page.10.renderObj = TEXT page.10.renderObj { folders.field = select_key data = file:current:size wrap =

    File size:|

    renderObj = COA } renderObj { 10 = IMAGE 10 { file.import.data = file:current:originalUid // file:current:uid file.width = 150 ... } }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 25
  • FAL TYPOSCRIPT: REFERENZ cObject FILES files (stdWrap) Laden von Dateien aus sys_le - angegeben wird eine kommaseparierte Liste von UIDs references Ermittelt alle Referenzen eines Feldes (vom Typ IRRE mit sys_le_referenceals Kind). Man kann entweder die UID direkt angeben, oder mittels table,uidundfieldName arbeiten. references.table (stdWrap) Speziziert die Tabelle, aus der die Referenz ermittelt wird (z.B. tt_content oder pages) references.uid (stdWrap) Gibt die UID des Datensatzes an, aus welchem die Referenz ermittelt wird (z.B. Seite mir UID 7) Hier ist auch stdWrap mglich: uid.data = page:uid) references.fieldName (stdWrap) Feldname fr die Ermittlung der Referenzen collections (stdWrap) Kommaseparierte Liste von sys_le_collection UIDs folders (stdWrap) Kommaseparierte Liste von Folder-Identier: [storageUid]:[folderIdentier] (2:mypics/,4:myimages/) storageUid = UID des Storages (sys_le_storage) / folderIdentier = Relativer Pfad renderObject (cObject +optionSplit) Rendering eines jeden Files. Infos ber file und current: z.B. data = file:current:... stdWrap (-> stdWrap)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 26
  • EXTENSION MANAGER EM die Dritte :-)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 27
  • EXTENSION MANAGER Der Extension Manager wurde komplett neu auf Basis von Extbase geschrieben. Dabei wurde dieser auch deutlich verschlankt. Sprachenbehandlung => Wurde in eine eigene Extension (lang) ausgelagert Editieren von Dateien => Kann durch andere Extensions durchgefhrt werden Upload extension ins TER => Wurde (Wird) in die Extension extdeveval integriert (Stand 27.11.2012 noch nicht im TER) Die zugehrigen Tabellen in der Datenbank wurden verndert: ALT: sys_ter cache_extensions NEU: tx_extensionmanager_domain_model_extension tx_extensionmanager_domain_model_repository(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 28
  • EXTENSION MANAGER Alle Aktionen sind klar gekennzeichnet Manueller Upload links oben(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 29
  • EXTENSION MANAGER Remote Update erfolgt automatisch - manuell durch Klick rechts oben(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 30
  • EXTENSION MANAGER Alle Versionen einer Extension durch Klick auf Show all versions(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 31
  • LOCALCONFIGURATION Ersatz fr die localconf.php(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 32
  • LOCALCONFIGURATION 1 Die Datei typo3conf/localconf.php wird abgelst Stattdessen gibt es nun die neue Datei typo3conf/ LocalConfiguration.php Diese Datei gibt lediglich ein Kongurations-Array zurck Sobald die Konguration verndert wird (beispielsweise durch den Extensionmanager), wird diese Datei komplett neu geschrieben Daher ist kein eigener Code mehr in dieser Datei erlaubt (keine PHP-Logik) Um aber eine Erweiterung dieses Codes in einer Instanz zu erlauben, kann dieser in der Datei typo3conf/AdditionalConfiguration.php platziert werden, die durch den neuen Bootstrapper direkt hinter der LocalConfiguration.php ausgefhrt wird. Ein Upgrade Wizard berfhrt die alte localconf.php Datei in das neue Schema(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 33
  • LOCALCONFIGURATION 2 Aufbau der Datei LocalConguration.php return array( BE => array( disable_exec_function => 0, ... ), DB => array( database => typo360b1, ... ), EXT => array( extConf => array( automaketemplate => a:0:{}, ... ), extList => info,perm, ..., extListArray => array( 0 => info, 1 => perm, ... ),(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 34
  • LOCALCONFIGURATION 3 Setzen und Lesen von Kongurationsoptionen Lesen (am Beispiel BE/loginSecurityLevel) TYPO3CMSCoreConfiguration ConfigurationManager::getLocalConfigurationValueByPath(BE/ loginSecurityLevel) == rsa Setzen (am Beispiel BE/loginSecurityLevel) TYPO3CMSCoreConfiguration ConfigurationManager::setLocalConfigurationValueByPath(BE/ loginSecurityLevel, rsa) Schlssel BE DB EXT / extListArray / 1 === perm (Pfade mit / bis zum bentigten Schlssel) EXTCONF FE GFX SYS INSTALL(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 35
  • LOCALCONFIGURATION 4 Default-Konguration Die Default-Konguration bendet sich nun nicht mehr unter: t3lib/config_default.php sondern unter t3lib/stddb/DefaultConfiguration.php Dies betrifft nur die Conguration ansich ($TYPO3_CONF_VARS) - alle anderen Teile sind nun im Bootstrap.(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 36
  • ALLGEMEINES nderungen(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 37
  • DESIGNANPASSUNG PAGE-MODUL Das Backend-Modul Page wurde hinsichtlich der Usability umgestaltet: alt neu(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 38
  • DESIGNANPASSUNG PAGE-MODUL Die Elemente werden erst beim darberfahren mit der Maus sichtbar:(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 39
  • DRAG & DROP Die Content-Elemente knnen nun per Drag&Drop im Page-Modul verschoben werden:(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 40
  • DOCHEADER Die oberen zwei Reihen wurden bei allen Backend-Modulen vertauscht um damit eine bessere Usability zu erreichen. Zuerst kommt die Context Sensitive Hilfe (CSH) und das Funktionen- Men und In der zweiten Reihe benden sich nun die Buttons (Speichern, Schlieen, Shortcut, ...)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 41
  • NEUER LOGIN SCREEN Der Login-Screen wurde berarbeitet alt neu(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 42
  • RENDERING CE IN PAGE MODULE Zustzliche Infos wie Hidden/Start/Stop wurden in den Footer des CE verschoben Sortiert-Buttons sind verschwunden, da Drag & Drop Action-Buttons wurden nach rechts geschoben alt Label des Content-Types entfernt Content-Typ Icon in den Header verschoben Lock/language Icon in den Header verschoben Icon "Neues Content Element danach anlegen" neu wurde nach den Footer des CE verschoben(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 43
  • ICON IN MODUL VIEW Im Modul View (viewpage) kann man nun per Icon die Ansicht in einem neuen Fenster ffnen lassen. Die Extension ext:view ein Rewrite auf Basis von TYPO3 Extbase.(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 44
  • INSERT RECORD CONTENT ELEMENT Das Insert Record Content Element wurde insofern verbessert, als es nun im New Content Element Wizard auswhlbar ist und zudem im Modul Page das referenzierte Content-Elements angezeigt wird (das Original ist von dort aus editierbar)..(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 45
  • TRANSLATION MODUL 1 Da der Extension-Manager neu geschrieben wurde, hat man die frher dort enthaltene Funktion zum Sprachhandling nun in ein eigenes Modul ausgelagert:(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 46
  • BACKEND USER MODUL 1 Das Modul Backend User (beuser) wurde neu auf Basis von Extbase geschrieben und bietet nun neben einer Suche und diversen Filtern (Admin - Nicht Admin, Active - Not Active, Login Before - Never logged in) auch einen Page-Browser und das Aufheben der Beschrnkung auf 1000 Datenstze :(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 47
  • BACKEND USER MODUL 2 In der Anzeige der aktiven User (Online User) kann zudem nun eine User-Session beendet werden, indem man auf den Button bei End Session klickt:(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 48
  • RESSOURCES IN TEMPLATE MODUL Im Datensatz Template (TypoScript Template) wurden die Resources entfernt, da diese Funktion praktisch nie produktiv verwendet wurde. Damit konnte man frher Assets wie Bilder an den TypoScript-Datensatz binden. wurde entfernt(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 49
  • SITEMAP OF SELECTED PAGES Das Content-Element Menu/Sitemap wurde umbenannt in Special Menus Dort wurde ein neuer Sitemap-Typ Sitemaps of selected pages wurde entfernt eingefhrt. Ab sofort kann man damit die Root-Seite fr die Sitemap auswhlen (beim Typ Sitemap war dies immer der Tree-Root).(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 50
  • RECORD TYPE ICONS Die Icons, die im TCA-Typ group=db die zur Verfgung stehenden Record-Typen symbolisieren, sind ab sofort anklickbar und agieren als Filter - d.h. es werden nur Elemente dieses Typs im Element-Browser angezeigt. klickbar!(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 51
  • SYS NOTES NEU GESTYLT Die sys notes (erreichbar ber WEB->List >> Create new record >> Internal note) wurden komplett berarbeitet.(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 52
  • MISC Bei Klick auf den Titel im Modul List, gelangt man nun in die Edit- Ansicht Doctype ist per Default HTML5: (c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 53
  • RTE nderungen im Rich Text Editor(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 54
  • PASTEBEHAVIOUR Fgt man aus der Zwischenablage mittels der Funktion pasteFormat (Paste structure and basic format) oder pasteStructure (Paste structure only) Inhalt ein, so werden nun die folgenden Tags zustzlich erhalten und nicht weggelscht: article, aside, footer, header, nav, section Die kann ber das folgenden PageTScong gendert werden: buttons.pastebehaviour.[behaviour].keepTags.(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 55
  • TYPOSCRIPT & TSCONFIG Neuheiten und nderungen(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 56
  • MEHRFACH WERTE IN CONDITIONS ber das Pipe-Symbol | knnen nun in Conditions mehrere Werte angegeben und dagegen getestet werden. z.B.: [globalVar = TSFE:id = 10|12|15] (ist enthalten) [globalVar = TSFE:id != 10|12|15] (ist nicht enthalten)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 57
  • PRFUNG AUF NULL ber die beiden Funktionen ifNull und isNull kann nun geprft werden, ob ein Wert NULL ist: z.B.: 10 = TEXT 10 { field = description stdWrap.ifNull = Keine Beschreibung angegeben! } 10 = TEXT 10 { if.isNull.field = description value = Keine Beschreibung angegeben! }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 58
  • COLPOS WAHL IN SECTIONINDEX ber die Eigenschaft sectionIndex in den Men-Objekten des HMENU konnte erreicht werden, dass das Men nicht auf Unterseiten verlinkt, sondern auf Content-Elemente der aktuellen Seite mittels eines Anker-Links. Allerdings wurden bisher lediglich Content-Elemente dort aufgenommen, die sich in der Spalte Normal (colPos = 0) befanden. Nun gibt es die Option useColPos mit der man die Spalte konkret angeben kann. ber den Wert -1 kann man die Elemente aller Spalten anzeigen. Zudem ist stdWrap an dieser Stelle mglich z.B.: tt_content.menu.20.3.1.sectionIndex.useColPos = -1(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 59
  • JQUERY LADEN jQuery 1.8 wird nun im Verzeichnis contrib/jquery/ mitgeliefert Die Integration wird noch als experiementell bezeichnet, da eine saubere API hierfr fehlt jQuery kann mittels page.javaScriptLibs direkt gesetzt werden (inkl. Version, Source und Namespace) und wird ber den PageRenderer in TYPO3 integriert. Source kann local (dann aus contrib/jQuery), msn, google oder jquery sein - hier werden die CDN der jeweiligen Anbieter verwendet: page.javascriptLibs { jQuery = 1 jQuery { version = 1.8.1 source = local noConflict = 1 noConflict.namespace = test }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 60
  • USER CONTENT OBJECT MIT STDWRAP Das cObject USER (und USER_INT) hat nun die Eigenschaft stdWrap (mit den gleichnamigen Properties) 20 = USER 20 { userFunc = tx_cssstyledcontent_pi1->renderSpace space = before constant = {$content.spaceBefore} stdWrap { noTrimWrap = |csc-space-before-| | } }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 61
  • EINFRBEN DES SEITENBAUMS ber UserTScong kann nun der Seitenbaum eingefrbt werden options.pageTree.backgroundColor.51 = #cc0000(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 62
  • MISC Das cObject HTML wurde entfernt. An der Stelle wird nun ausschlielich TEXT verwendet. Beim Rendern von Links wird nun das Attribut onfocus="blurLink(this); weggelassen. Damit verliert die Option noBlur Ihre Bedeutung und wurde komplett entfernt.(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 63
  • NAMESPACES im TYPO3 Core(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 64
  • NAMESPACES Der gesamte Core ist auf PHP Namespaces umgestellt worden (grte nderung des Cores der Geschichte *g* / ca. 3300 Dateien betroffen!) Folgt damit dem PSR-0 (https://github.com/php-fig/fig-standards) Dafr wurde der Core vorwiegend in drei System-Extension verschoben mit den Namen: core (/typo3/sysext/core/): Bootstrap, Logging Functions, Mail- and Caching, TCEmain backend (/typo3/sysext/backend/): z.B. Forms und Modules frontend (/typo3/sysext/frontend/): z.B. TypoScript und Rendering dort sind im Ordner Classes/ alle Klassen separat nach Verwendung enthalten. Der Zugriff darauf erfolgt nach dem Schema - z.B.: Datei Writer.php im Verzeichnis typo3/sysext/core/Classes/Log/Writer Zugriff darauf: TYPO3CMSCoreLogWriterWriter Jede Datei enthlt eine Namespace-Deklaration (bis zum Verzeichnis):

Recommended