Typo3

Typo3 - Content-Management-System

Bei Typo3 handelt es sich um ein CMS (Content-Management-System) ohne Lizenzgebühren, mit dem sich die Inhalte einer Webseite darstellen lassen und von Nicht-Informatikern gepflegt und aktualisiert werden können. Ähnlich wie in einem Schreib-Programm können Texte, Bilder und Medien-Inhalte wie Videos gepflegt und angepasst werden.

Typo3 basiert auf PHP und MySQL als Datenbank und kann bei den meisten Providern installiert werden. Über Templates wird das Webdesign dargestellt.

Typo3 - flexible Erweiterungen

In Typo3 werden sogenannte Extensions (Erweiterungen) hergestellt, um die Basisfunktionalität auf die individuellen Bedürfnisse von Firmen anzupassen. Hierfür gibt es eine ganze Menge an vorhandenen Modulen, aber auch die Möglichkeit eigene Extensions selbst zu entwickeln. So ist es nicht nötig ein Gästebuch oder ein Shop-Modul neu zu erfinden, aber wenn Sie eine besonderte Organisation für bestimmte Daten benötigen, ist das problemlos möglich.

Gute Gründe für Typo3 als CMS

  • Typo3 ist weit verbreitet, viel Literatur, viel Hilfe, viele Erweiterungen
  • Sie können Ihre Webseite mit Typo3 selbst verwalten
  • Typo3 ist günstig, weil keine Lizenzgebühren
  • Erweiterungen können günstig umgesetzt werden
  • Typo3 hat eine große Entwicklergemeinde
  • Typo3 kann professionell eingesetzt werden
  • Typo3 ist skalierbar und auf Bedürfnisse anpassbar

Rollen bzw. Rechte im Typo3

3 Rollen können Sie mit Typo3 sofort einfach vergeben. So gibt es den Administrator, den Redakteur und den Frontend-User. Weitere Berechtigungen können Sie im CMS definieren und so ein Permission-Management für User und Gruppen definieren für bestimmte Objekte und Module.

Daten bearbeiten und aktualiseren mit Typo3

In Typo3 stehen Ihnen unterschiedliche WYSIWYG-Editoren zur Verfügung, in denen Sie ähnlich wie in einem Rechtschreib-Programm, Worte und Sätze fett oder kursiv setzen können ohne HTML-Kenntnisse haben zu müssen. Bilder, Animationen und Videos können Sie ebenso einfach einfügen und im Textfluss sauber setzen.

Die neueren Versionen von Typo3 haben auch eine Versionskontrolle, so dass Sie mehrere Schritte in Ihrer Bearbeitung zurückgehen können, falls mal etwas versehentlich gelöscht wurde.

Typo3 - gute Erfahrungen

Wir haben sehr gute Erfahrungen mit Typo3 als Content-Management-System gemacht und von unseren Kunden viel positives Feedback zu diesem CMS erhalten.

Gerne geben wir auch Einführungskurse für Typo3.

Weitere Informationen zu den Möglichkeiten von Typo3? E-Mail

Augsburg und München können wir kurzfristig besuchen.

Typo3-Tipps

Sinnvolle Typo3-Extensions

Die folgende Liste ist eine Grundausstattung, die ich empfehlen kann. Typo3 hat aber unzählige Erweiterungen für die verschiedensten Aufgaben. Sollte es dennoch keine Erweiterung für eine gestellte Aufgabe geben, kann hierfür eine eigene Extension entwickelt werden.

  • Kickstarter (Entwicklung eigener Erweiterungen)
  • htmlArea RTE (Editor für Redakteure) - alternativ tinyRTE
  • Contrast Switch (Barrierefreiheit)
  • FancyBox (Bildergalerie)
  • RealURL (saubere URLs) - alternativ CoolURI
  • News (Pressemitteilungen darstellen und verwalten)
  • Salted User Password (besondere Verschlüsserung)
  • Automaketemplate (template über id's)
  • Macina Searchbox (Suche)

Lokale Installation Typo3

Es gibt für Typo3 ein besonderes Paket, welches sogar einen eigenen kleinen Server beinhaltet, welcher lokal auf dem Rechner installiert werden kann. Mit dieser XAMPP-Installation bzw. WAMP (Windows Apache MySQL PHP) sind alle wichtigen Werkzeuge auf dem eigenen Rechner vorhanden, um eine Typo3-Webseite umsetzen zu können.
Gelegentlich kommt es bei Kunden vor, dass nicht sofort ein Zugang vorhanden ist oder dass die existierende Webseite während der Entwicklung bestehen bleiben soll - dann ist eine lokale Entwicklung von Vorteil. Ebenso kann eine lokale Installation sehr gut zum Testen verwendet werden.

Typo3 - unterschiedliche CSS für einzelne Seiten

Wenn man einzelne Seiten einer Typo3-Webseite zum Beispiel mit unterschiedlichen Farben gestalten möchte, kann man dies einfach über eine Klasse des Body-Tags erreichen: <body class="seitennamen">. Diese Klasse kann der Seite über ein extension template +ext zugeordnet werden mit folgendem Code:
page = PAGE
page.bodyTag = <body class="seitenname">

Mehrsprachigkeit in Typo3

Normalerweise funktioniert die Umsetzung von mehreren Sprachen sehr gut in Typo3. Gelegentlich ist es aber vorgekommen, dass es Probleme mit der Aktualisierung von Sprachpaketen gab, was vor allem an der Serverkonfiguration liegen kann.

In diesem Fall kann man sich die notwendigen Dateien einer ähnlichen Version zum Beispiel von einer lokalen Installation aus dem Verzeichnis \typo3conf\l10n\de holen und diese über ftp übertragen.

Sprachweiche in TypoScript
temp.logo = FILE
temp.logo = fileadmin/template/img/logo/logo.gif
[globalVar = GP:L = 1]
temp.logo = fileadmin/template/img/logo/logo_en.gif
[global]

Spalten des Backends umbenennen

Wenn man die Spalten im Typo3-Backend mit anderen Bezeichnungen versehen möchte, gelingt dies über die Datei typo3conf/extTables.php.

Parameter für PHP

Wenn man Parameter für eine Seite in PHP benötigt, können diese über Typoscript gesetzt werden:
Setzen: plugin.tx_dates_pi1._DEFAULT_PI_VARS.dat = datdatdat
Lesen: $this->piVars['dat']

Sortierung Datensätze eigener Erweiterungen

Älteste zuerst: $this->internal['orderByList']='date_10e944e44b,time_4597af2b73';

RealURL

Vor ein paar Jahren gab es öfters mal kleine Schwierigkeiten mit RealURL aber heute läuft diese Erweiterung sehr gut. Wenn es doch mal klemmen sollte, liegt dies meist an Einstellungen des Servers bzw. der htaccess-Datei. Zu überprüfen wäre, ob mod_rewrite im Apache aktiviert ist und ob in der httpd.conf AllowOverride aktiviert ist.
Im mainTemplate könnte auch die Einstellung config.admPanel = 0 hilfreich sein.
Im Backend ist unter dem Punkt "info" das RealURL-Management zu finden, indem einzelne Einestellungen vorgenommen werden können.

Sprachanpassung Macina Searchbox

Die Sprachanpassung des Buttons kann über das template macina-searchbox.html im Platzhalter eingefügt werden.

Video's in Typo3

Ich habe bisher keine guten Erfahrungen mit Erweiterungen für Video-Inhalte im Typo3-CMS gemacht, weil es immer einen Haken gab.

Der Standard-Medieninhalt kann zwar Flash- und QuickTime-Inhalte abspielen aber für die Anzeige auf Apple©-Produkten ist dieser nicht geeignet. Laut Beschreibung kann die Erweiterung HTML5Videoplayer diese funktionale Lücke schließen aber aus aktuell noch unerfindlichen Gründen läuft die Extension auf einer von mir betreuten Webseiten nicht mehr. Dann habe ich NiceFLVFlashplayer probiert - ohne Erfolg. Schließlich verwende ich aktuell wieder den Standard-Medieninhalt und werde bei nächster Gelegenheit eine eigene Erweiterung hierfür schreiben.
Wenn Sie eine Empfehlung haben, freue ich mich: E-Mail - Empfehlung Typo3 Videoinhalte auch für Apple©-Produkte

Typo3-Menüs je nach Position gestalten

Mit der optionSplit-Funktion kann man Menüs je nach ihrer Menü-Position gestalten. Hierbei kann man drei Bereiche einteilen, also einen ersten, einen mittleren und einen letzten Teil. Getrennt werden die Segmente durch den sogenannten optionSplit in Form von |*|. Innerhalb dieser Hauptbereiche können dann noch Unterbereiche (subparts) angelegt werden, die durch || getrennt werden.

Erläuterung unter Typo3 WIKI.Resource: De:TSref/optionSplit

PDF, Videos und Bilder in Typo3 ablegen

Ich lege in der Regel PDF, Videos und Bilder in einer Ordnerstruktur unter fileadmin/user_upload ab.

Seitentitel vom Navigationstitel trennen

Aus dem Feld Page Title bzw. Seitentitel, welches in den Seiteneigenschaften im Typo3-CMS zu finden ist, wird in der Regel der Navigationsname und der Seitentitel entnommen.
Im Idealfall ist die Navigationsbezeichnung und der Seitentitel deckungsgleich einzusetzen aber meistens gibt es eine größere Anzahl von Außnahmen, die berücksichtigt werden müssen. So werden für die Navigation meist nur Namen mit einem Wort vergeben, die für einen Seitentitel zu kurz sein können.

Aus diesem Grund verwende ich das vorhandene Feld subtitle und definiere in TypoScript, dass nur dann das Feld Title für dien Seitentitel verwendet werden soll, wenn subtitle leer ist:
config.noPageTitle = 2
page.headerData.5 = TEXT
page.headerData.5.field = subtitle
page.headerData.5.wrap = <title>|</title>

Übertragung lokale Entwicklung auf Live-System

Sofern eine neue Entwicklung nicht auf dem Live-System, sondern auf einer lokalen bzw. externen Typo3-Version estellt wurde, können entweder alle Dateien und MySQL-Daten ersetzt werden, wovon ich abraten würde (aufwändig, riskant). Oder es können die neuen Elemente einzeln in das Live-System integriert werden.

Arbeitsschritte Typo3-Anpassung

  1. Feststellen der Änderungen - Abgleich mit http://EntwicklungsversionTypo3.html
  2. neue Extension in TEMPLATE/extensions namens ext - headerslider
    1. Daten übertragen
    2. Extension installieren
  3. Zuordnung in TEMPLATE/setup in Basis Template einschließen
  4. TypoScript in TEMPLATE/DEFAULT - template

    ### Slideshow auf der Startseite [globalVar = TSFE:id = 5] page.10.marks.HEADER < plugin.tx_jfheaderslide_pi1 [global]

  5. Dateien übertragen:
    1. fileadmin\template\img\bg_wsb_kampagne.png
    2. itypo3conf\ext\jf_headerslide
      -> Extension installieren -> Updates Datenbank
    3. /uploads/tx_jfheaderslide/
  6. Zuordnung in ROOT Template website - Statische Templates einschließen JF Header Slide
  7. Seite / HOME - Seiteneigenschaften
    -> ein neuer Reiter namens Header Slider ist sichtbar -> dort die Bilder angeben und Eintrag Image links
  8. css und js einbinden per TypoScript in TEMPLATE/DEFAULT - template

Typo3 - Typo3-Einstellungen finden

Typo3 bietet viele Möglichkeit der Einflußnahme durch TypoScript, weshalb dieses auch an unterschiedlichen Stellen positioniert werden kann.

  • TypoScript, welches für alle Seiten gilt -> Übersicht TS-Files über Template und Wurzelknoten
  • iTypoScript auf einzelnen Seiten
  • Einstellung über TS Includes -> Edit the whole TS - Reiter Includes
  • Einstellungen über Page TSConfig -> List Page Reiter Resources
  • Sofern TemplaVoila eingesetzt wird:
    • Template zugeordnet über List Page Reiter Appearance - Use Template Design
    • im TV-Template ist dann XML definiert zu finden unter: TemplaVoila Ordner Page Templates oder Flexible CE (FCE) - Global Processing XML
    • und dort als TS im XML

Eigene Extension Listview - statt uid andere Spalte ausgeben

Admin Tools: Configuration
Im Auswahlfeld $TCA (Table configuration array) auswählen
In der Struktur
Extension auswählen bsp: [tx_ausbildungsstaetten_schulen]
[ctrl]
[label] klicken -> vorher Variable: $TCA['tx_ausbildungsstaetten_schulen']['ctrl']['label'] = 'uid';
Ändern in: $TCA['tx_ausbildungsstaetten_schulen']['ctrl']['label'] = 'schulnummer';

Erweiterung Kickstarter - Verknüpfung Plugin zum Verzeichnis

Bei der Erstellung von Erweiterungen mit dem Kickstarter kann es vorkommen, dass im Backend bei den Plugin-Eigenschaften unter dem Reiter Verhalten die Auswahl Datensammlung nicht angezeigt wird. Wenn man eine andere Erweiterung auswählt wird diese Funktionalität anzeigt und man kann abspeichern und danach wieder umstellen auf das richtige Plugin – dann funktioniert es. Wo man dieses Feld in den PHP-Dateien weiß ich leider nicht.
Wahrscheinlich wurde bei der Erstellung über den Kickstarter das Setzen eines Häck'chens übersehen.

Umzug Erweiterung - Datensätze werden im Typo3-Verzeichnis nicht angezeigt

Wenn die Datensätze nach dem Umzug einer Erweiterung nicht im Typo3-Ordner angezeigt werden ist wahrscheinlich die pid in der Tabelle noch dem Ordner des vorigen Systems zugeordnet - in der Tabelle die pid des neuen Ordners angeben.

JavaScript in Bildergalerie funktioniert nicht mehr

Sehr häufig liegt es an einer weiteren Erweiterung, die auch jquery verwendet und ebenfalls JavaScript einbindet - meist hilft es, wenn man die zusätzlichen jquery-Dateien ausblendet bzw. deren Einbindung verhindert wie z.B. über den Constant Editor und dort die Zuordnung der JavaScript-Dateien löscht.

Seitentitel ohne Seitennamen

Der Seitenname wird häufig bei Typo3 mitgeliefert: Erst ausschalten - dann neu zuordnen:
#Den Seitentitel erst ausblenden - dann in page ts titel setzen config.noPageTitle = 2
#config.noPageTitle = 1
page.headerData.10 = TEXT
page.headerData.10.field = subtitle // title
page.headerData.10.wrap = |

Inhalte für iFrame

Wenn Inhalte über das Typo3-System gepflegt werden sollen, diese aber auf einer anderen Webseite mit einem anderen Rahmen erscheinen sollen, kann wie folgt vorgegangen werden.

Cache deaktivieren

Damit die Seite immer aktualisiert wird, sollte der Cache in den Seiteneinstellungen deaktiviert werden.

Layout und Template anlegen

Unter project/Resources/Fluidtemplates/Layouts/ wird ein neues Template namens BlankTemplate.html angelegt:
<div id="blank">
  <f:render section="content" />
</div>
Dann wird unter project/Resources/Fluidtemplates/Layouts/ ein neues Layout namens iframeTemplate angelegt und das oben genannte Layout angegeben:
<f:layout name="BlankLayout" />
<f:section name="content">
  <div class="col-md-8">
        <f:format.raw>{contentMain}</f:format.raw>
  </div>
</f:section>

+ext Template anlegen

Auf der Typo3-Seite auf der der iframe-Inhalt zur Verfügung gestellt wird, muss ein +ext-Template angelegt werden über welches das neue Template zugeordnet wird. Zudem werden unnötige Einbindungen z.B. von css- oder js-Dateien überschrieben:
## Override includes
page.includeCSS <
page.includeJSlibs <
page.includeJSFooter <

## Assign the Template files with the Fluid Backend-Template
page.10.file.stdWrap.cObject = CASE
page.10.file.stdWrap.cObject {
  key.data = levelfield:-1, backend_layout_next_level, slide
  key.override.field = backend_layout

  # Default Template
  default = TEXT
  default.value = {$resourceDir}/Fluidtemplates/Templates/iframeTemplate.html

  # Standard
  1 = TEXT
  1.value = {$resourceDir}/Fluidtemplates/Templates/iframeTemplate.html

  # Home
  2 = TEXT
  2.value = {$resourceDir}/Fluidtemplates/Templates/iframeTemplate.html
}

Fehler nach Installation Erweiterung - Entfernen Extension

Wenn nach der Installation einer Erweiterung die Typo3-Installtion 7.6. nicht mehr funktioniert, kann die fehlerhafte Erweiterung in der Datei typo3conf/LocalConfiguration.php gelöscht werden und zusätzlich in der Datei typo3conf/PackageStates.php auf inactive gesetzt werden. Manchmal muss dann noch der Zwischenspeicher unter /typo3temp/Cache geleert werden.
Ich speichere diese Dateien aber immer auch lokal, damit nichts verloren geht, was wichtig sein könnte.

PHP auf Typo3-Seiten einsetzen

a. Neues Template anlegen lib.php-input.ts
page.20 = USER_INT
page.20 {
userFunc = Klassenname->Funktionsname
includeLibs = fileadmin/Dateiname.php
}
b. Über mainTemplate oder über +ext inkludieren
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/typoscript/lib.community.ts">
c. In Template oder Partial einbauen
<f:cObject typoscriptObjectPath="lib.community"/>

Anpassung von Fluid-styled-content Elemente

Kopie vom Template aus \typo3\sysext\fluid_styled_content\Resources\Private

Anlegen in project/Resources/Fluid-Stylede-Content/

Zuweisung über Typoscript-Obect-Browser lib/fluidContent/templateRootPath/10 Falls in 10 etwas liegt wird dieses genommen, andernfalls die 0