O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Praxiswissen TYPO3

Book Description

Praxiswissen TYPO3 ist eine gut verständliche Einführung in das populäre Content Management-System, die sich auch an TYPO3-Einsteiger ohne ausgeprägte Programmierkenntnisse wendet. Das Buch hat sich als das Standardwerk für den Einstieg in TYPO3 et

Table of Contents

  1. Praxiswissen TYPO3
    1. 1. Einführung
      1. Über dieses Buch
      2. Aktualisierung auf TYPO3-Version 4.2
      3. Aufbau dieses Buchs
      4. Beispielskripten
      5. Typografische Konventionen
      6. Support
      7. Weitere Ressourcen
      8. Die Geschichte von TYPO3
      9. Danksagung
    2. 2. TYPO3 installieren
      1. Anforderungen an die Hardware
        1. RAID und/oder Backup
      2. Das geeignete Betriebssystem
      3. Anforderungen an die Software
        1. PHP
        2. ImageMagick oder GraphicsMagick
        3. Datenbank
      4. Den Quellcode unter Linux bereitstellen
        1. Schritt 1: Das Dummy-Paket installieren
          1. Das Dummy-Paket verstehen
        2. Schritt 2: Den TYPO3-Quellcode bereitstellen
        3. Schritt 3: Die Rechte anpassen
        4. Schritt 4: Das Installtool zugänglich machen
        5. Schritt 5: Die Datenbank ansprechen und vorbereiten
      5. TYPO3 unter Windows installieren
      6. Das TYPO3-Installtool
        1. Das Installtool-Passwort ändern
        2. Einstellungen konfigurieren und überprüfen mit dem Installtool
          1. Basic Configuration
          2. Database Analyser
          3. Update Wizard
          4. Image Processing
          5. All Configuration
      7. TYPO3 mit UTF-8-Unterstützung verwenden
        1. UTF-8 als universeller Zeichensatz
        2. Die Datenbank für UTF-8 einrichten
        3. TYPO3 konfigurieren
    3. 3. Das Backend kennenlernen
      1. Der ideale Browser und Browsereinstellungen
      2. Begriffe der TYPO3-Welt
      3. Der erste Frontend-Aufruf
      4. Login in das Backend
      5. Die Backend-Module kennenlernen
        1. Web
          1. Seite (engl. Page)
          2. Liste (engl. List)
          3. Zugriff (engl. Access)
          4. Funktionen (engl. Functions)
          5. Template
        2. Datei (engl. File)
          1. Dateiliste (engl. Filelist)
        3. Benutzerwerkzeuge (engl. User tools)
          1. Benutzereinstellungen (engl. User settings)
        4. Admin-Werkzeuge (engl. Admin tools)
          1. Erweiterungsmanager (engl. Extension Manager)
          2. Installation (engl. Install)
          3. Log
      6. Die Backend-Sprache ändern
      7. Zugangsdaten ändern
      8. Eine erste Seite anlegen
    4. 4. Das Praxisbeispiel vorbereiten
      1. Die Anforderungen an das Praxisbeispiel
      2. Eine Designvorlage erstellen
        1. Präzise HTML-Ausarbeitung
        2. Grafiken und Designvorlagen
        3. Der statische HTML-Code des Praxisbeispiels
        4. Dynamische Bereiche durch Platzhalter ersetzen
        5. Teilbereiche kennzeichnen
        6. Die fertige Designvorlage
        7. Dateien mit dem Dateimanager zur Verfügung stellen
      3. Aufbau der Navigationsstruktur
        1. Überlegungen zur richtigen Struktur
          1. Navigationsstruktur abbilden
          2. Zwischengeschaltete Seite zur Template-Vererbung
          3. Wo befindet sich die Homepage?
        2. Die gewünschte Struktur anlegen
        3. Hilfsseiten nicht zugänglich machen
      4. TYPO3-Fehlermeldungen
    5. 5. TypoScript in der Praxis
      1. Was genau ist TypoScript?
        1. Objekte und Eigenschaften
          1. Auf die richtige Schreibweise achten
        2. Wertzuweisungen
          1. Wertzuweisung über mehrere Zeilen
        3. Kommentare
        4. Geschweifte Klammern für Schreibfaule
        5. Kopieren von Objekten und Eigenschaften
          1. Löschen von Objektinstanzen und Eigenschaften
          2. Ausführungsreihenfolge beim Kopieren und Löschen
          3. Referenzieren statt kopieren
      2. TypoScript-Templates
        1. Template-Vererbung
          1. Template-Vererbung beeinflussen
        2. Ein Template anlegen
          1. Info/Modify
          2. Whole Template Record
          3. TypoScript-Object-Browser
          4. Template Analyzer
          5. Constant Editor
      3. Objekte und Eigenschaften einer Webseite
        1. Angeben von Seiteneigenschaften mit TypoScript
          1. Der ausgegebene HTML-Code
          2. Ausklammern
      4. Die erstellte Designvorlage integrieren
        1. Elemente mit auf die Seite aufnehmen
        2. Die Designvorlage integrieren
        3. Mit Teilbereichen arbeiten
        4. Ein Stylesheet einbinden
        5. Die Platzhalter ansprechen
          1. Die Platzhalter ansprechen: Fehleranalyse
      5. TypoScript-Funktionen nutzen
        1. Datenbankinhalte dynamisch auslesen
          1. Wenn das Datenbankfeld leer ist
        2. HTML-Formatierungen einbinden
        3. Weitere Werte abfragen
          1. Datenbankinhalte mit .data abfragen
          2. GET- und POST-Variablen abfragen
          3. Datum mit .data abfragen und formatieren
      6. Das TYPO3-Caching-Konzept
        1. Caching-Problemen begegnen
    6. 6. Grafiken mit TypoScript erstellen
      1. Das vorhandene Logo einbinden
        1. Die Größe der Grafik ändern
      2. Grafiken dynamisch erzeugen
        1. Mit Ebenen arbeiten
          1. Ausklammern zur besseren Übersicht
        2. Positionieren von Ebenen
        3. Grafischer Text
        4. Ein einfacher Schatten
        5. Ein weicher Schatten
        6. Mehr Dynamik
      3. Den grafischen Trailer erstellen
        1. Den grafischen Trailer vorbereiten
        2. Eine statische Grafik in den Trailer einbeziehen
        3. Verläufe in die Grafik einarbeiten
        4. Text auf den Trailer rendern
          1. Testen der Ausgabe des Untertitels
        5. Eine Grafik in die aktuelle Seite einbinden
          1. Dateien zu einer Seite hinterlegen
          2. Grafikdatei aus der Datenbank auslesen
          3. Grafikdatei rekursiv abfragen
    7. 7. Menüs erstellen
      1. Einführung in die Erstellung dynamischer Menüs
        1. Unterschiedliche Arten von Menüs
        2. Mögliche Zustände von Menüelementen
      2. Das obere Textmenü erstellen
        1. Startpunkt des Menüs angeben
        2. Das Textmenü darstellen
          1. Stylesheets verwenden
        3. Menüeinträge voneinander trennen
          1. Striche zwischen den einzelnen Menüeinträgen einfügen
          2. OptionSplit für Textmenüs mit Pipe-Symbol
      3. Das grafische Menü erstellen
        1. Grafische Menüeinträge erzeugen lassen
          1. Eine weiße Linie erzeugen
          2. Eine zusätzliche Linie mittels wrap aufnehmen
        2. Unterschiedliche Menüzustände integrieren
        3. Eine zweite Navigationsebene hinzufügen
          1. Unterseiten anlegen
          2. Die zweite Navigationsebene beschreiben
          3. entryLevel für weitere Menüebenen setzen
        4. Zeilenumbruch innerhalb des grafischen Texts
          1. Fehlerhafte Anzeige im Trailer
        5. Fehlender HTML-Zeilenumbruch
      4. Einen Klickpfad realisieren
        1. Den Startpunkt des Klickpfads setzen
        2. Einen Text vorschalten
          1. Integration in die Designvorlage
          2. Vorschaltung mittels wrap
          3. An einem Platzhalter mehrere Objekte ausführen
          4. Ungewünschte Hilfszeichen entfernen
    8. 8. In halte ausgeben
      1. Neue Seiteninhalte anlegen
        1. Einen weiteren Seiteninhalt anlegen
      2. Vorhandene Seiteninhalte ausgeben
        1. Seiteninhalt mit TypoScript beschreiben
        2. Unterschiedliche Darstellungen differenzieren
        3. In die SQL-Anweisung eingreifen
          1. Inhalte sortiert ausgeben
          2. Spalten auswählen
      3. Vordefinierte Beschreibungen verwenden
        1. Statische Templates inkludieren
          1. Die Erweiterung CSS styled content installieren und verwenden
        2. Das statische Template »CSS styled content« unter die Lupe genommen
          1. Abschnitt »tt_content«
          2. Abschnitt »lib.stdheader«
        3. Den ausgelieferten Quellcode verstehen
          1. Ein Seiteninhalt soll ausgegeben werden
          2. Die Überschrift wird verarbeitet
          3. Der Bodytext wird verarbeitet
          4. Abschließender Kommentar wird hinzugefügt
      4. Die Darstellung den eigenen Wünschen anpassen
        1. Überschriften neu formatieren
        2. Normale Seiteninhalte mit Text formatieren und anpassen
          1. Seiteninhalte vom Typ »Bild« sowie »Text mit Bild«
        3. Komplexere Formatierungen mit Designvorlagen
        4. Eine Sitemap integrieren
          1. Die TypoScript-Beschreibung des Inhaltstyps »Menü/Sitemap«
        5. Eine Suchfunktion integrieren
          1. Die TypoScript-Beschreibung des Inhaltstyps »Suchformular«
          2. Das Formular mit TypoScript beschreiben
          3. Das Auswahlfeld löschen
          4. Einen grafischen Absende-Button erstellen
        6. Das Suchergebnis
      5. Inhalte in anderen Bereichen ausgeben
        1. Die Suche im linken Bereich darstellen
      6. Inhalte am rechten Rand ausgeben
        1. Die Spalte »Rechts« auslesen
        2. Seiteninhalte von einer anderen Seite einlesen
      7. Übersicht über Seiteninhaltstypen
    9. 9. Erweiterte Darstellung von
      1. Einen zeitabhängigen Begrüßungstext realisieren
        1. Conditions und der TypoScript-Object-Browser
      2. Mehrsprachige Webseiten
        1. Neue Sprachen anlegen und Inhalte übersetzen
        2. TypoScript und Mehrsprachigkeit
          1. Einen einfachen Sprachwechsler realisieren
          2. Ein grafisches Sprachenmenü erstellen
          3. Vordefinierte Übersetzungen verwenden und anpassen
      3. Zugriffsbeschränkte Seiten und Seiteninhalte
        1. Webseiten-Benutzer anlegen
        2. Ein Login-Formular anlegen
        3. Login-Meldungen ausgeben
          1. Seiteninhalte vor Zugriff schützen
          2. Komfortablere Login-Meldungen
          3. Seiten nur bestimmten Benutzergruppen zugänglich machen
        4. Das Login-Formular anpassen
          1. Logout-Zustand definieren
          2. Login auf einen Platzhalter setzen
      4. Spezielle Druckansicht
        1. Ein weiteres PAGE-Objekt verwenden
          1. Die Eigenschaft .typeNum
          2. Die Druckansicht mit TypoScript beschreiben
        2. Ein Link zur Druckversion
        3. Besondere Darstellung von Inhalten in der Druckversion
      5. E-Mail-Adressen vor Spam schützen
    10. 10. Bestehende Erweiterungen integrieren
      1. Einführung
      2. Der TYPO3-Extension-Manager
        1. Versteckte Erweiterungen
        2. Das Extension-Manager-Menü
        3. Die Spalten im Extension-Manager
        4. Detailinfos zu den Erweiterungen
        5. Verfügbare Erweiterungen installieren
        6. Erweiterungen aus dem Extension Repository herunterladen
      3. Das News-Plugin integrieren und anpassen
        1. Das News-Plugin installieren
        2. Frontend-Plugin: Seiteninhalt/Container anlegen
          1. Frontend-Plugin: Elemente und Container
        3. Das News-Plugin konfigurieren
          1. Überblick über die wichtigsten Konfigurationsmöglichkeiten
          2. Notwendige Konfigurationen für das Praxisbeispiel
        4. Einen News-Beitrag erstellen
          1. Ein statisches Template für die Anzeige von News inkludieren
          2. Die Verlinkung zur SINGLE-Ansicht anpassen
        5. Das News-Plugin unter die Lupe genommen
        6. Die Designvorlage anpassen
          1. Die Designvorlage im Detail
          2. Cache-Probleme mit Designvorlagen
        7. Das News-Plugin manuell konfigurieren
          1. Darstellung von News auf der rechten Spalte
          2. Ein Extension-Template erstellen
        8. Das News-Plugin mit dem Constant Editor anpassen
        9. Hintergrund: So arbeitet der Constant Editor
      4. Erweiterte Suche
        1. Die Indexed Search Engine installieren
          1. Konfigurieren der Indexed Search Engine
        2. Das Suchformular einbinden
          1. Die indizierte Suche aktivieren und überprüfen
        3. Die Darstellung anpassen
      5. Mit Statistiken arbeiten
        1. Statistiken mit AWStats
          1. Logdaten in das Logfile schreiben
          2. Hinweis zur Aussagekraft der geloggten Daten
        2. Probleme nach der Installation einer Erweiterung
    11. 11. Eine eigene Erweiterung schreiben
      1. Ein eigenes Mitarbeiter-Plugin entwickeln
        1. Die Aufgabenstellung
        2. Der TYPO3-Kickstarter
          1. Extension Key
          2. General info
          3. New Database Tables
          4. Frontend-Plugins
          5. Die Arbeit mit dem Kickstarter abschließen
          6. Das Frontend-Plugin installieren
        3. Die Plugin-Integration testen und verstehen
          1. Darum reagiert das Frontend-Plugin
      2. Funktionalitäten mittels PHP programmieren
        1. TypoScript-Parameter übergeben
        2. TypoScript-Objekte als Parameter übergeben, ausführen und überschreiben
        3. Datensätze anlegen
        4. Die Datenbank ansprechen
          1. Woher sollen die Datensätze kommen?
          2. Datenbankabstraktion unterstützen
        5. Mit Designvorlagen arbeiten
          1. Designvorlagen in PHP ansprechen
          2. Teilbereiche (Subparts) nutzen
          3. Platzhalter ansprechen
          4. Verschachtelte Teilbereiche nutzen
        6. Die Grafik generieren
    12. 12. Benutzerrechte für Redakteure anlegen
      1. Benutzer und unterschiedliche TYPO3-Versionen
      2. Administratoren anlegen
      3. Redakteure anlegen
        1. Eine Benutzergruppe für Redakteure anlegen
          1. Backend-Module verfügbar machen
          2. Zugriff auf Datensätze
          3. Seitentypen erlauben
          4. Zugriff auf einzelne Felder explizit gestatten
          5. Explizites Verbieten von Seiteninhaltstypen und Erweiterungen
          6. Auf Sprachen beschränken
          7. Einstiegspunkte im Seitenbaum angeben
          8. Verzeichnisse zuweisen und Dateifreigaben einrichten
        2. Einen Redakteur als Benutzer anlegen
        3. Zugriffsrechte setzen
        4. Login mit Redakteurrechten
        5. Arbeiten mit mehreren Benutzern
          1. Benutzergruppen und Zugriffsrechte vergeben
      4. Das Backend noch benutzerfreundlicher gestalten
        1. Nicht benötigte Spalten ausblenden
        2. Das Auswahlfeld für die Gestaltung der Überschrift anpassen
    13. 13. Einführung in TemplaVoilà
      1. Was ist TemplaVoilà?
        1. Grenzen der klassischen Methode
        2. Andere Flexibilität mit TemplaVoilà
      2. TemplaVoilà installieren
      3. Dateien und Seitenstruktur vorbereiten
        1. Benötigte Dateien zur Verfügung stellen
        2. Seitenstruktur anlegen
      4. TemplaVoilà einsetzen
        1. Die Designvorlage integrieren
        2. Den Content-Bereich kennzeichnen
        3. Das Menü kennzeichnen
      5. Das Projekt-Template erstellen
        1. Das statische Template »CSS styled content« inkludieren
        2. TemplaVoilà ausführen lassen
      6. Seiteninhalte anlegen
      7. Das grafische Menü erstellen
    14. 14. Tipps und Tricks
      1. Workspaces: Trennung von Entwurfsarbeits- und Live-Umgebung
        1. Einsatzbereiche der Entwurfsarbeitsumgebung
        2. Die Entwurfsarbeitsumgebung einsetzen
          1. Weitere Entwurfsarbeitsumgebungen
          2. Redakteure auf die Entwurfsarbeitsumgebung beschränken
      2. Update auf eine höhere TYPO3-Version
      3. Ein Backup erstellen
      4. Suchmaschinen und TYPO3
        1. Valider Quellcode
        2. Der Seiten-Header
          1. Seitentitel
          2. Metadaten
        3. Freundlichere URLs
          1. Simulieren statischer Webseiten
          2. Von TYPO3 erzeugte Links freundlicher gestalten
        4. HTTP-Status-/-Fehlercodes anpassen
      5. Umstellung auf UTF-8
      6. Das Backend-Passwort vergessen?
        1. Sie haben Zugriff auf das Installtool
        2. Sie haben das Installtool-Passwort vergessen?
        3. Sie haben auch sonstige Zugangsdaten vergessen?
    15. A. TypoScript-Kurzreferenz
      1. Übersicht
      2. Datentypen
        1. <tag>
        2. align
        3. VHalign
        4. resource
        5. imgResource
        6. target
        7. int+/posint
        8. int
        9. string/str/value
        10. boolean
        11. degree
        12. rotation
        13. x,y,w,h
        14. HTML-color
        15. GraphicColor
        16. page_id
        17. list
        18. wrap
        19. case
        20. getText
        21. dir
      3. Objektgruppen
      4. Funktionen/stdWrap
        1. field
        2. data
        3. cObject
        4. filelist
        5. field : [Feldname]
        6. getenv : HTTP_REFERER
        7. date : d.m.Y
        8. GPvar : irgendwas
        9. TSFE : [TSFE-Wert]
        10. DB : [Tabelle] : [uid] : [Feld]
        11. override
        12. ifEmpty
        13. required
        14. fieldRequired
        15. if
        16. listNum
        17. parseFunc
        18. split
        19. trim
        20. intval
        21. case
        22. crop
        23. stripHtml
        24. htmlSpecialChars
        25. br
        26. brTag
        27. doubleBrTag
        28. date
        29. strftime
        30. age
        31. editPanel
        32. editIcons
        33. debug
        34. debugFunc
        35. debugData
        36. ext
        37. width/height
        38. params
        39. frame
        40. import
        41. maxW/maxH
        42. minW/minH
        43. enable
        44. width/height
        45. effects
        46. wrap
        47. JSwindow
        48. JSwindow.expand
        49. JSwindow.newWindow
        50. title
        51. bodyTag
        52. table
        53. select
        54. uidInList
        55. pidInList
        56. orderBy
        57. groupBy
        58. max
        59. begin
        60. where
        61. andWhere
        62. languageField
        63. isTrue
        64. isFalse
        65. isPositive
        66. isGreaterThan
        67. isLessThan
        68. equals
        69. isInList
        70. value
        71. negate
        72. short
        73. makelinks
        74. tags
        75. denyTags
        76. allowTags
      5. Objekt-Referenz
        1. typeNum
        2. 1,2,3,10,20,30
        3. wrap
        4. stdWrap
        5. bodyTag
        6. frameSet
        7. meta
        8. shortcutIcon
        9. headerData
        10. config
        11. includeLibs
        12. stylesheet
        13. includeCSS.[array]
        14. CSS_inlineStyle
        15. value
        16. (stdWrap-Eigenschaften)
        17. 1,2,3,4,10,20
        18. if
        19. wrap
        20. stdWrap
        21. 1,2,3,10,20
        22. if
        23. key
        24. [value-array]
        25. default
        26. stdWrap
        27. if
        28. file
        29. wrap
        30. template
        31. marks.[Platzhalter]
        32. workOnSubpart
        33. table
        34. select
        35. wrap
        36. stdWrap
        37. file
        38. params
        39. alttext/titletext
        40. if
        41. wrap
        42. stdWrap
        43. XY
        44. format
        45. reduceColors
        46. quality
        47. transparentBackground
        48. transparentColor
        49. transparentColor.closest
        50. backColor
        51. maxWidth
        52. maxHeight
        53. 1, 2, 3 etc.
        54. entryLevel
        55. special
        56. minItems
        57. maxItems
        58. excludeUidList
        59. begin
        60. wrap
        61. expAll
        62. allWrap
        63. linkWrap
        64. beforeImg
        65. beforeImgTagParams
        66. beforeImgLink
        67. beforeROImg
        68. RO
        69. linkWrap
        70. expAll
        71. collapse
        72. target
        73. wrap
        74. forceTypeValue
        75. min
        76. max
        77. useLargestItemX
        78. useLargestItemY
        79. disableAltText
        80. before
        81. beforeImg
        82. label
        83. allow
        84. newRecordFromTable
        85. line
        86. edit.displayRecord
        87. onlyCurrentPid
        88. layout
        89. wrap
        90. target
        91. badMess
        92. goodMess
        93. redirect
        94. recipient
        95. data
        96. dataArray
        97. image
        98. userFunc
        99. [String-array]
        100. file
      6. Frames
        1. obj
        2. options
        3. params
        4. 1,2,3,4,...
        5. cols
        6. rows
        7. params
      7. OptionSplit
        1. |*|
        2. | |
      8. Conditions
        1. Browser
        2. Browser-Version
        3. Betriebssystem
        4. Devices
        5. Sprache
        6. IP-Adressen
        7. Stunde
        8. Minute
        9. Wochentag
        10. Tag des Monats
        11. Monat
        12. Benutzergruppe (FE)
        13. Eingeloggter Benutzer (FE)
        14. treeLevel
        15. PIDInRootline
        16. PIDupinRootline
        17. GlobalVar/GlobalString
        18. userFunc
      9. Primäre Objekte
        1. linkVars
        2. message_page_is_being_generated
        3. message_preview
        4. locale_all
        5. spamProtectEmailAddresses
        6. spamProtectEmailAddresses_atSubst
        7. frameReloadIfNotInFrameset
        8. includeLibrary
        9. cache_period
        10. cache_clearAtMidnight
        11. no_cache
        12. stat
        13. stat_excludeBEuserHits
        14. stat_excludeIPList
        15. stat_mysql
        16. stat_apache
        17. stat_apache_logfile
        18. stat_apache_pagenames
        19. simulateStaticDocuments
        20. simulateStaticDocuments_addTitle
        21. simulateStaticDocuments_noTypeIfNoTitle
        22. simulateStaticDocuments_pENC
        23. titleTagFunction
        24. headerComment
        25. notification_email_encoding
        26. notification_email_urlmode
        27. admPanel
        28. index_enable
        29. index_externals
        30. sys_language_uid
        31. [table].default.[field]
        32. [table].allowNew.[field]
        33. [table].allowEdit.[field]
        34. [table].autoInsertPID
        35. [table].processScript
        36. [table].doublePostCheck
      10. TSConfig : Benutzer
        1. enable.[bereich]
        2. hide
        3. [module].edit
        4. RTEkeyList
        5. clearCache.pages
        6. clearCache.all
        7. lockToIP
        8. saveDocNew/saveDocNew.[table]
        9. disableDelete/disableDelete.[table]
        10. contextMenu.[key].disableItems
        11. thumbnailsByDefault
        12. startInTaskCenter
        13. saveTreePositions
        14. edit_RTE
        15. copyLevels
        16. recursiveDelete
      11. TSConfig : Page
        1. web_layout.menu.function
        2. web_info.menu.function
        3. web_func.menu.function
        4. web_ts.menu.function
        5. user_task.menu.function
        6. SHARED.colPos_list
        7. [mod].tt_content.colPos_list
        8. [mod].tt_content.fieldOrder
        9. [mod].noCreateRecordsLink
        10. [mod].alternateBgColors
        11. newWizards
    16. Kolophon