This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Open Source Software wird gegenüber kommerziellen Lösungen immer wichtiger. Addison-Wesley trägt dieser Entwicklung Rechnung mit den Büchern der Open Source Library. Administratoren, Entwickler und User erhalten hier professionelles Know-how, um freie Software effizient einzusetzen. Behandelt werden sowohl Themen wie Betriebssysteme, Netzwerke und Sicherheit als auch Programmierung. Eine Auswahl aus unserem Programm: phpMyAdmin ist das am weitesten verbreitete Tool zur Verwaltung von MySQL-Datenbanken. Dieses Buch gibt Ihnen einen profunden Einstieg in die effiziente Verwaltung von MySQL-Datenbanken mit phpMyAdmin (neue Version 2.6.0) bis hin zur professionellen Administration. Der Autor zeigt, wie Sie mit phpMyAdmin Datenbanken anlegen, editieren, abfragen und pflegen und wie Sie Benutzer anlegen und verwalten. Sie lernen, wie Sie Abfragen optimieren und automatisieren und was Sie beim Arbeiten mit verschiedenen Zeichensätzen und MIMETypen beachten müssen u.v.a.m. Ein TroubleshootingKapitel hilft bei Problemen. phpMyAdmin Marc Delisle 260 S. Euro 19,95 (D), 20,60 (A) ISBN 3-8273-2250-2 Sind Sie Webentwickler und suchen Sie PHP- und MySQLGrundlagen sowie Programmiertechniken in einem Buch? Dann sind Sie hier richtig. Dieses praxisorientierte Buch liefert nach einem kurzen Grundlagenteil eine ganze Sammlung von PHP- und MySQL-Rezepten: objektorientierte Programmierung mit PHP 5, XML-Funktionen, prepared statements, stored procedures, SQL-Grundlagen und -Rezepte, GIS-Funktionen, mysqli-Schnittstelle, etc. Anschließend demonstrieren mehrere umfangreiche Beispielprojekte das Zusammenspiel von PHP und MySQL. Ein Kapitel über TYPO3 zeigt exemplarisch, wie im Internet kostenlos verfügbare PHP/MySQL-Projekte installiert und für eigene Zwecke adaptiert werden. PHP 5 & MySQL 5 Michael Kofler, Bernd Öggl 696 S., 1 CD Euro 49,95 (D), 51,40 (A) ISBN 3-8273-2190-5
Sandini Bib
Christoph Lindemann Maik Caro
Typo3 Tipps & Tricks Erste Hilfe von Installation bis Extensions
An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
Sandini Bib
Die Deutsche Bibliothek – CIP-Einheitsaufnahme Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig.
Fast alle Hardware- und Softwarebezeichnungen und weitere Stichworte und sonstige Angaben, die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt. Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das ® Symbol in diesem Buch nicht verwendet.
Umwelthinweis: Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt.
Zu diesem Buch Mal ehrlich: Wann haben Sie sich das letzte Mal ordentlich und in aller Ruhe in eine so komplexe Anwendung wie TYPO3 eingearbeitet, mit der Sie doch eigentlich vom Start weg produktiv arbeiten wollten? Wahrscheinlich ging es Ihnen wie den meisten Anwendern: Ihr Basiswissen trug Sie ein Stück weit, dann fingen Sie an, herumzuprobieren, über die ersten Hürden halfen Sie sich mit ein wenig Googlen hinweg, doch irgendwann kamen Sie nicht mehr weiter. Sie saßen frustriert vor einem Berg von Möglichkeiten, dabei fehlte Ihnen nur ein kleiner Tipp hier und ein kleiner Trick dort, um zum gewünschten Ergebnis zu gelangen. Hier setzt unser Buch „TYPO3 – Tipps & Tricks“ an. Kein Buch zum Durcharbeiten (obwohl Sie das natürlich tun können), sondern zum Querlesen und Immer-wiederzur-Hand-nehmen. Nicht nur für Quereinsteiger, sondern auch für TYPO3-Anwender mit Vorwissen, die keine Zeit für umfangreiche Einführungen haben und schnell zu Ergebnissen gelangen möchten. Mit den wichtigsten Tipps und Tricks für alle Content-Arbeiter und ihre Administratoren, leicht auffindbar aufbereitet – sozusagen ein „Best of“ der TYPO3-Anwenderforen. Wir zeigen Ihnen z.B. prägnant und übersichtlich, wie Sie TYPO3 auf verschiedenen Plattformen installieren, wie Sie Ihre Inhalte anlegen und verwalten, wie Sie mit Templates arbeiten, wie Sie Seitennavigationen programmieren und wie Sie TYPO3 konfigurieren und um Funktionalitäten erweitern. Aber wir zeigen Ihnen noch vieles andere mehr – insgesamt stecken in diesem Buch über 150 Tipps und Tricks aus unserer eigenen langjährigen TYPO3-Praxis, die Ihnen den Einstieg in und das Arbeiten mit diesem enorm leistungsfähigen CMS erleichtern sollen. Wir hoffen, Sie finden hier, was Sie suchen. Wenn nicht, schreiben Sie uns – wir sind für jede Anregung und Kritik dankbar. Ihre Mail an [email protected] wird der Verlag umgehend an uns weiterleiten. Viel Spaß und Erfolg bei Ihrer Arbeit mit TYPO3 und diesem Buch!
Christoph Lindemann, Maik Caro November 2005
Sandini Bib
Sandini Bib
1
Installation & Konfiguration
Grundsätzlich sollten Sie sich vor dem Einsatz von TYPO3 überlegen, in welcher Umgebung das System laufen soll. Als Empfehlung kann gelten »TYPO3 arbeitet auch unter Windows, aber es lebt unter Linux«. Aus diesem Grunde werden wir weiter unten nicht nur die Installation von TYPO3 unter Linux detaillierter beschreiben, sondern auch die Installation des Linux-Systems selbst.
1.1
Installation auf Windows mit WAMP QuickStart
Für Windows Benutzer hat Ingmar Schlecht ein Paket geschnürt, das alle erforderlichen Komponenten für eine TYPO3-Installation beinhaltet und die erste Installation zu einem Kinderspiel macht. Die TYPO3-Installer-Pakete können Sie von der Typo3.org-Website herunterladen. Die fertigen Pakete finden Sie auf der Seite: http://typo3.org/download/installers/ Laden Sie das 20 MByte große WAMP QuickStart Paket von der Internetseite und starten es nach dem Herunterladen.
Abbildung 1.1: Mit dem Windows Installer ist das erste eigene TYPO3-System im Handumdrehen installiert
Sandini Bib
1 Installation & Konfiguration
Nach der Zustimmung zu den Lizenzbedingungen sind Sie nur noch wenige Sekunden von der ersten TYPO3-Installation entfernt. Einzig der Zielordner für das QuickStart Setup ist noch anzugeben, in das alle notwendigen Programme installiert werden. In den Unterordnern dieses Zielordners finden Sie alle Programme und auch das htdocs-Verzeichnis, welches das Root-Verzeichnis des Apache Webservers darstellt. Neben den notwendigen Programmen werden auch einige Verknüpfungen im Startmenü angelegt. Über diese Verknüpfungen können Sie den Apache Webserver und die MySQL-Datenbank starten. Die beiden TYPO3-Verknüpfungen rufen die URL http://localhost bzw. http://127.0.0.1 auf. Wenigstens die zweite Verknüpfung sollte in das Root-Verzeichnis des Webservers verweisen, da diese IP-Adresse für den Localhost reserviert ist.
Abbildung 1.2: Im Startmenü finden Sie nach der Installation Verknüpfungen zum Startern der Datenbank und des Webservers Damit der Apache Webserver Anfragen beantworten kann, müssen Sie diesen über die Verknüpfung start Apache starten. Dabei öffnet sich automatisch ein Konsolenfenster, das den Status des Apache Webservers anzeigt. Mit dem Schließen dieses Konsolenfensters wird der Apache Webserver gestoppt.
16
Sandini Bib
1.1 Installation auf Windows mit WAMP QuickStart
Abbildung 1.3: Eine ähnliche Eingabeaufforderung gibt es auch für die MySQL-Datenbank, wenn diese gestartet wurde Im Windows-Ordner system32\drivers\etc befindet sich die Datei hosts, über die Sie die lokale Namensauflösung anpassen können. Standardmäßig ist hier der IP 127.0.0.1 der Name localhost zugewiesen. Soll der Testserver aber über eine andere Adresse erreichbar sein, können Sie die dafür vorgesehenen DNS-Namensauflösungen in dieser Datei leicht eintragen. In einem Editor geöffnet, stellt sich die Datei wie im folgenden Listing dar: # # # # # # # # # # # # # # # # # # # #
Copyright (c) 1993-1999 Microsoft Corp. Dies ist eine HOSTS-Beispieldatei, die von Microsoft TCP/IP für Windows 2000 verwendet wird. Diese Datei enthält die Zuordnungen der IP-Adressen zu Hostnamen. Jeder Eintrag muss in einer eigenen Zeile stehen. Die IPAdresse sollte in der ersten Spalte gefolgt vom zugehörigen Hostnamen stehen. Die IP-Adresse und der Hostname müssen durch mindestens ein Leerzeichen getrennt sein. Zusätzliche Kommentare (so wie in dieser Datei) können in einzelnen Zeilen oder hinter dem Computernamen eingefügt werden, aber müssen mit dem Zeichen '#' eingegeben werden. Zum Beispiel: 102.54.94.97 38.25.63.10
127.0.0.1
rhino.acme.com x.acme.com
# Quellserver # x-Clienthost
localhost
17
Sandini Bib
1 Installation & Konfiguration
Hier können nun beliebige Zeilen hinzugefügt werden. Soll der Test-Server beispielsweise unter http://testserver.typo3 erreichbar sein, braucht nur die folgende Zeile ergänzt zu werden: 127.0.0.1
testserver.typo3
Jetzt könnn Sie mit jedem beliebigen Webbrowser die neue Adresse erreichen. Der Apache Webserver meldet sich mit einer statischen HTML-Seite zurück.
Abbildung 1.4: Über die Startseite des WAMP-Systems kann das TYPO3-System aufgerufen werden Bevor Sie nun TYPO3 aufrufen können, müssen Sie noch die MySQL-Datenbank starten. Beim Starten der Datenbank über den Startmenüeintrag öffnet sich ein Konsolenfenster, das Sie nicht schließen dürfen, da ansonsten die Datenbank gestoppt wird. Nachdem der Apache Webserver und die Datenbank gestartet sind, können Sie die TYPO3-Seite aufrufen. Über den Link TYPO3 Frontend erreichen Sie jetzt die im QuickStart-Paket mitgelieferte Beispielseite.
18
Sandini Bib
1.1 Installation auf Windows mit WAMP QuickStart
Abbildung 1.5: Die MySQL-Eingabeaufforderung sollte über die Verknüpfung im Startmenü beendet werden und nicht durch einfaches Schließen der Eingabeaufforderung, sonst kann die Datenbank abstürzen
Abbildung 1.6:
Die Demo-Website des FC Bigfeet
19
Sandini Bib
1 Installation & Konfiguration
Hinter dem Eintrag TYPO3-Backend verbirgt sich das Administrationsinterface. Die Zugangsdaten hierfür lauten wie folgt:
Abbildung 1.7:
Das Backend-Login
Die Zugangsdaten werden bei aktuellen Browsern in der Regel direkt übergeben und im Login-Formular voreingetragen, sodass ein Klick auf den Button LOG IN genügt, um das Administrationsinterface aufzurufen.
Abbildung 1.8:
20
Das TYPO3-Backend im WAMP-Paket – leider – nur in der Version 3.6.0RC1
Sandini Bib
1.2 Installation auf Mac OS X mit XAMPP
Das war’s, damit haben Sie die Installation Ihrer ersten TYPO3-Testumgebung fertig gestellt und können damit beginnen, die ersten Schritte in TYPO3 zu machen.
1.2
Installation auf Mac OS X mit XAMPP
Die Installation auf dem Mac mit einem OS X gestaltet sich ähnlich simpel wie die unter Windows. Andreas Beutel hat ein Paket für Mac OS X ab der Version 10.2 geschnürt, mit dem eine TYPO3-Installation ein echtes Kinderspiel ist. Das Herunterladen des Pakets nimmt dabei fast die meiste Zeit in Anspruch. Das Paket basiert auf dem XAMPP und beinhaltet die Komponenten Apache, MySQL, PHP & PEAR, SQLite, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, zlib, Ming, Webalizer, mod_perl, eAccelerator, phpSQLiteAdmin. Nach dem Download muss das Archiv extrahiert werden und über das DMA kann dann das Laufwerk TYPO3 QuickStart 3.8.0-1.1 gemappt werden. Dort finden Sie dann das Installationsprogramm.
Abbildung 1.9: eingerichtet
Es werden alle notwendigen Komponenten über diesen Installer
Nachdem den Lizenzbedingungen zugestimmt wurde, müssen Sie das Zielvolume auswählen. Auf dem Zielvolume werden dann alle Softwarepakete installiert.
21
Sandini Bib
1 Installation & Konfiguration
Abbildung 1.10: Wählen Sie die Festplatte aus, auf der die Software installiert werden soll Jetzt kann die Installation gestartet werden. Nach Abschluss der Installation wird das TYPO3-Verzeichnis geöffnet. In diesem Verzeichnis finden Sie alle wichtigen Verknüpfungen.
Abbildung 1.11: Das TYPO3-Verzeichnis mit den wichtigen Verknüpfungen
22
Sandini Bib
1.2 Installation auf Mac OS X mit XAMPP
Über die Verknüpfungen Start XAMPP.term und Stop XAMPP.term wird das System, also der Apache Webserver und der MySQL-Datenbankserver, gestartet.
Abbildung 1.12: Das Terminal, über das die Server gesteuert werden Beim Aufruf dieser Verknüpfung öffnet sich ein Terminal-Fenster, in dem unter Umständen das Administratoren-Kennwort eingegeben werden muss. Wenn die Start- bzw. Stoppaktionen durchgeführt sind, schließt sich dieses Terminal-Fenster selbstständig. Sind die Server gestartet, kann über einen Webbrowser die erste Anfrage an der Webserver geschickt werden. Der Webserver wird über http://localhost aufgerufen. Im Document Root, das über die gerade genannte Adresse aufgerufen werden kann, befindet sich die XAMPP-Website mit einigen nützlichen Werkzeugen, Dokumentationen, Beispielen und vielen Informationen zum System. Über die XAMPP-Website kann das System jederzeit kontrolliert werden. Sollte sich diese Seite nicht über http://localhost aufrufen lassen, ist der Webserver nicht gestartet und Sie müssen erneut Start XAMPP.term aufrufen. In seltenen Fällen kann es auch an der Namensauflösung liegen. Dann sollte es aber mit der Adresse http://127.0.0.1 klappen. Wenn die XAMPP-Seite angezeigt wird, können Sie über das Verzeichnis TYPO3 das Frontend und Backend von TYPO3 aufrufen. Über QUICKSTART WEBSITE.WEBLOC rufen Sie die TYPO3-Website in Ihrem Standardbrowser auf. TYPO3-BACKEND.WEBLOC öffnet das TYPO3-Backend im Webbrowser.
23
Sandini Bib
1 Installation & Konfiguration
Abbildung 1.13: Die XAMPP-Seite mit vielen hilfreichen Links in der Navigation
Abbildung 1.14: Die Website des TYPO3 QuickStart Paketes
24
Sandini Bib
1.3 Installation auf Linux
1.3
Installation auf Linux
Auf Linux-Systemen können die TYPO3-Quellcode-Dateien mittels so genannter Symlinks eingebunden werden. Hier sollten Sie die tar.gz-Pakete verwenden, die auf Windows-Betriebssystemen nicht funktionieren, da Symlinks dort nicht verwendet werden können. Wir werden im Folgenden nicht nur eine TYPO3-Installation auf einem Debian-System zeigen, sondern auch die Installation des Debian-Systems selbst. Debian GNU/Linux – so der vollständige Name – ist eine frei im Internet entwickelte und erhältliche Linux-Distribution, die professionellsten Ansprüchen genügt.
1.3.1
Debian GNU/Linux Basis-System installieren
Debian GNU/Linux – nachfolgend der Einfachheit halber Debian – kann auf verschiedenen Wegen installiert werden, von denen hier nur der einfachste kurz beschrieben werden soll. Dazu ist es notwendig, dass Sie die erste CD-ROM des stabilen Debian-Releases haben, um von dieser zu booten. Bei Fertigstellung dieses Buches war dies das Debian-Release 3.1r0, sarge. Unter http://www.debian.de/CD/http-ftp/ finden Sie eine Liste von Servern (sogenannte »Spiegel« oder »Mirrors«), auf denen die CD-Images angeboten werden. Das Release umfasst insgesamt sieben CD-Images. Für diese Anleitung benötigen Sie lediglich das erste Image, da die restlichen Programme über das Netzwerk installiert werden können. Eine detaillierte Installationsanleitung erhalten Sie unter www.debian.de. Auch die alternativen Installationsmöglichkeiten werden dort beschrieben. Sollten bei der Installation Probleme auftreten, finden Sie am schnellsten hilfreiche Tipps in der Debian-Mailingliste oder im Archiv der Mailingliste. Sehr hilfreich bei den ersten (und allen weiteren) Schritten mit Debian ist auch das Debian-Anwenderhandbuch, online zu finden unter www.debiananwenderhandbuch.de. Für den Download des ersten Debian-CD-Images empfiehlt es sich, einen Downloadmanager einzusetzen, da ein eventuell unterbrochener Download von den meisten Webbrowsern nicht wieder aufgenommen werden kann. Fresh Download (http://www.freshdevices.com/) oder File Zilla (http://sourceforge.net/projects/filezilla/) sind nur zwei dieser Downloadmanager. Das Image kann mit den gängigen Brennprogrammen auf CD-ROM gebrannt werden. Sollten Sie über keine geeignete Brennsoftware verfügen, können Sie z.B. Sie burnatonce (http://www.burnatonce.de/) ausprobieren, das für den privaten Einsatz frei ist. Booten Sie das System nun von der Debian-CD. Sollte die Hardware ein Booten von CD nicht unterstützen, muss eine Boot-Diskette erstellt werden. Dazu müssen die Disketten-Images rescue.bin und root.bin jeweils auf eine Diskette geschrieben werden. Diese Images liegen wie das Programm, mit dem Sie diese Disketten erzeugen, im Verzeichnis install auf der ersten Debian-CD. Starten Sie im Windows-Dateimanager einfach das Programm rawrite2.exe im Verzeichnis install durch Doppelklick
25
Sandini Bib
1 Installation & Konfiguration
und geben Sie als Sourcefile rescue.bin und das Diskettenlaufwerk (vermutlich a:) an, in dem sich die noch leere Bootdiskette befindet.
Abbildung 1.15: Mit RaWrite können bootfähige Disketten erzeugt werden Um anschließend das Image root.bin auf die Diskette zu schreiben, verfahren Sie analog. Stecken Sie dann die so erzeugte Boot-Diskette in das Diskettenlaufwerk und booten Sie das System neu. Die Debian-Installation sollte nun starten und das Basis Debian-System auf Ihrem Server installieren. Nach Fertigstellung sollte bereits die Netzwerkverbindung und Namensauflösung funktionieren. Dies kann überprüft werden, indem Sie nach dem Login versuchen, eine bekannte Internetadresse mit dem Ping-Befehl zu erreichen. Wenn das noch nicht funktioniert, sollten die Netzwerkeinstellungen überprüft werden. Nach Fertigstellung der Standardinstallation kann jetzt der Server vom Arbeitsplatzrechner aus weiter konfiguriert werden. Dazu benötigen Sie einen SSH-Client, über den Sie sich mit dem Debian-Server verbinden. Der SSH-Server sollte bei der Installation auf dem Debian-Server mit installiert worden sein. Nach dem Start von Putty1 müssen Sie die IP-Adresse des Debian-Servers eingeben und das Protokoll auf SSH umstellen. Ein Klick auf OPEN sollte nun eine SSH-Verbindung zum Debian-Server öffnen. Beim ersten Versuch wird Putty mit einer Warnung antworten, da Putty den Server Key des Debian-Servers noch nicht kennt. Antworten Sie mit JA, um die Verbindung aufzubauen. Anschließend erscheint das LogIn, sodass Sie sich nun auf dem Server einloggen können. 1
Abbildung 1.16: Der Windows SSH-Client Putty ist frei erhältlich und leicht zu bedienen
Abbildung 1.17: Der Key Fingerprint für die verschlüsselte SSH-Verbindung muss auf dem lokalen Rechner abgelegt werden Bevor Sie mit der Installation der einzelnen Komponenten fortfahren können, ist noch zu überprüfen, ob die Internetverbindung hergestellt ist und ob die Namensauflösung funktioniert. Wenn Sie mit dem Befehl ping gefolgt von einer beliebigen vorhandenen Internetdomain eine Antwort erhalten, ist die Internetverbindung hergestellt und die Namensauflösung funktioniert ebenfalls korrekt.
27
Sandini Bib
1 Installation & Konfiguration
Sollte der Ping keine Antwort hervorbringen, obwohl die Domain vorhanden ist, ist die Internetverbindung nicht korrekt eingerichtet oder die Netzwerkkarte funktioniert nicht korrekt. Lesen Sie dann die online verfügbare Debian-Installationsanleitung gründlich durch. http://www.debian.de/releases/stable/installmanual Im Abschnitt 7.7, Konfiguration des Netzwerkes, sollte ein Hinweis oder Lösungsansatz zu Ihrem Problem vorhanden sein.
1.3.2
Installation weiterer Komponenten
Das Basissystem beinhaltet die wichtigsten Programme des Betriebssystems. Ein Webserver oder Datenbankserver muss jetzt erst noch installiert werden. Das APT »a package tool« ist das Debian-Paketmanagement-Werkzeug, mit dem einfach neue Pakete installiert werden können. Bevor die Installation neuer Pakete durchgeführt werden kann, muss das APT erst noch konfiguriert werden. Der Befehl apt-setup öffnet die APT-Konfiguration. Da die restlichen Pakete über das Internet installiert werden sollen, wählen Sie HTTP aus und folgen dem Dialog.
Abbildung 1.18: Die Quelle des Paketmanagements muss auf http eingestellt werden Wenn das Konfigurations-Setup komplett durchlaufen wurde, können weitere Quellen hinzugefügt werden, was aber noch nicht notwendig ist. Beantworten Sie die Frage nach weiteren Quellen also mit NEIN.
28
Sandini Bib
1.3 Installation auf Linux
Abbildung 1.19: An dieser Stelle müssen noch keine weiteren Installationsquellen hinzugefügt werden Die APT-Konfiguration wird dann beendet und Sie erhalten wieder die Kommandozeile des Debian-Servers. Wechseln Sie nun mit dem Befehl cd /etc/apt/ in das Verzeichnis /etc/apt/. Dort befindet sich die Datei sources.list mit einer Liste der Installationsquellen. Mit dem Befehl vi sources.list können Sie die Liste mit dem Editor vi öffnen. Dort sollten sich einige Einträge finden, die die APT-Konfiguration entsprechend Ihrer Angaben vorgenommen hat. Bei der Standardkonfiguration müsste die Datei wie folgt aussehen: deb http://ftp.de.debian.org/debian/ stable main deb-src http://ftp.de.debian.org/debian/ stable main deb http://non-us.debian.org/debian-non-US stable/non-US main deb-src http://non-us.debian.org/debian-non-US stable/non-US main deb http://security.debian.org/ stable/updates main
Als Erstes sollte nun das Debian-System auf den aktuellen Stand gebracht werden. Der Befehl apt-get update
aktualisiert die Paketliste. Der Parameter upgrade veranlasst apt anschließend, die Installation der aktuellen Pakete durchzuführen: apt-get -u upgrade
29
Sandini Bib
1 Installation & Konfiguration
APT gibt eine Liste der Pakete aus, die aktualisiert werden und die Datenmengen, die heruntergeladen werden müssen, sowie den notwendigen Speicherplatz für die Aktualisierung dieser Pakete. Wenn nun fortgefahren wird, startet APT die einzelnen Dateidownloads und installiert die Pakete. Je nach Internetverbindung kann das einige Minuten in Anspruch nehmen. Nachdem das System up to date ist, müssen Datenbank, Webserver und PHP installiert werden. Dies geschieht mit dem folgenden Befehl: apt-get -u install apache php4-gd2 mysql-server php4-mysql
Während der Installation öffnet sich die MySQL-Konfiguration. Die meisten Vorgaben können übernommen werden. Lediglich die Frage, ob MySQL beim Booten automatisch gestartet werden soll, sollte mit YES beantwortet werden.
Abbildung 1.20: Wenn der Datenbankserver beim Starten des Systems immer mitgestartet wird, braucht das nicht manuell erledigt zu werden Nach Abschluss der MySQL-Konfiguration wird die Installation fortgesetzt. Im weiteren Verlauf werden Sie gefragt, ob das apacheconfig-Skript gestartet werden soll. Starten Sie das Skript und lassen Sie die Änderungen in die Konfigurationsdateien schreiben. Im weiteren Verlauf beantworten Sie alle Fragen mit Y, damit die ApacheErweiterungen geladen werden und der Webserver neu gestartet wird. Wenn die Installation und Konfiguration abgeschlossen ist, gelangen Sie wieder zurück zum Kommandozeilen-Prompt.
30
Sandini Bib
1.3 Installation auf Linux
Nun kann der Webserver getestet werden. Dazu muss im lokalen Netzwerk mit einem Webbrowser die IP-Adresse des Debian-Servers aufgerufen werden. Der Server antwortet mit der Debian-Willkommen-Seite.
Abbildung 1.21: Das Dokument im Document Root erzeugt diese Seite Diese Seite gibt schon ein paar wichtige Informationen über den Webserver aus, wie zum Beispiel das Verzeichnis des Document Root und wo Sie die wichtigen Konfigurationsdateien des Apache finden können. Hier sind jetzt noch von Hand drei Anpassungen an der Konfigurationsdatei des Webservers vorzunehmen. Um diese Datei – httpd.conf in /etc/apache/ – editieren zu können, müssen Sie zuerst Superuser werden. Geben Sie dazu IU (¢) ein, gefolgt von Ihrem rootPasswort. Rufen Sie dann vi zusammen mit der Apache-Konfigurationsdatei auf: vi /etc/apache/httpd.conf
Durch den Befehl :set number
können Sie im Editor die Zeilennummern anschalten. In der Zeile 310 sollte der ServerName auf localhost gesetzt werden. Mit der Taste (x) können Zeichen gelöscht werden. Anschließend müssen Sie mit (i) in den Insert-Modus wechseln und den Namen eingeben. Die Zeile sollte dann wie folgt aussehen: 310 ServerName localhost
31
Sandini Bib
1 Installation & Konfiguration
Den Insert-Modus verlassen Sie wieder, indem Sie die Taste (Esc) drücken. In den Zeilen 752, 753, 757 und 758 müssen die Rauten entfernt werden. Diese kommentieren die folgenden Codes aus. 752 753 754 755 756 757 758
AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps # # And for PHP 4.x, use: # AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Zum Schluss muss noch in der Zeile 241 die Raute entfernt werden, damit das php4Modul vom Apache geladen wird: 241 LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
Speichern Sie die Datei und verlassen Sie den Editor, indem Sie :wq eingeben, was für write quit steht. Anschließend gelangen Sie zurück in die Kommandozeile. Laden Sie die geänderte Konfiguration, damit die Modifikationen dem Webserver bekannt werden: /etc/init.d/apache reload
Um die Skriptsprache PHP zu testen, sollten Sie nun ein kleines PHP-Skript in das Document Root schreiben. Wechseln Sie dazu in das Document Root-Verzeichnis des Webservers: cd /var/www/
Dort legen Sie eine neue Datei an: vi phpinfo.php
Wechseln Sie wieder mit (i) in den Insert-Modus und schreiben Sie den folgenden Code: phpinfo(); ?>
Verlassen Sie den Insert-Modus mit (Esc) und speichern Sie die Datei (mit :w). Nun kann die Datei über einen Webbrowser aufgerufen werden und der phpinfo-Befehl gibt den derzeitigen Status des PHP aus. Die MySQL-Datenbank braucht nicht weiter konfiguriert zu werden. Es empfiehlt sich aber, den Datenbankserver vor unerlaubten Zugriffen zu schützen. Vergeben Sie aus Sicherheitsgründen immer ein Kennwort für den root-Zugriff auf den MySQLServer: /usr/bin/mysqladmin -u root password neues_passwort
32
Sandini Bib
1.3 Installation auf Linux
Abbildung 1.22: Der Befehl phpinfo() liefert eine komplette Ausgabe aller PHPEinstellungen Um auf die Datenbank über ein komfortables grafisches Frontend zugreifen zu können, sollten Sie phpMyAdmin installieren, das auch als Debian-Paket angeboten wird. apt-get install phpmyadmin
phpMyAdmin läuft als Webanwendung im Browser. Weil phpMyAdmin aber in das Verzeichnis /usr/share/phpmyadmin/ installiert wird, muss noch eine Verknüpfung vom Document Root in dieses Verzeichnis angelegt werden. cd /var/www/ ln –s /usr/share/phpmyadmin/ phpmyadmin
Bevor phpMyAdmin auf die Datenbank zugreifen kann, müssen noch die Kennwörter der Benutzer in der config.inc.php eingetragen werden: vi /usr/share/phpmyadmin/config.inc.php $cfgServers[1]['stduser']= 'root'; $cfgServers[1]['stdpass']= 'passwort';
Nun kann phpMyAdmin über den Webbrowser aufgerufen werden.
Abbildung 1.23: Das Login von phpMyAdmin
1.3.3
Installation der TYPO3-Komponenten
Die TYPO3-Komponenten sind nicht auf den Debian-Servern vorhanden, sodass die Liste der Installationsquellen zuerst angepasst werden muss. vi /etc/apt/sources.list
Fügen Sie der Liste die folgenden beiden Zeilen Code am Ende an: deb http://typo3.sunsite.dk/software/debian/ ./ deb-src http://typo3.sunsite.dk/software/debian/ ./
Das Paket typo3-env beinhaltet alle erforderlichen Pakete, die für den Einsatz von TYPO3 notwendig sind. Zuvor muss aber die Paketliste aktualisiert werden, bevor von den neuen Quellen die Pakete geladen werden können. apt-get update apt-get install typo3-env
34
Sandini Bib
1.3 Installation auf Linux
Nachdem die Pakete installiert wurden, kann mit dem typo3-site-installer eine neue TYPO3-Seite angelegt werden. Dem typo3-site-installer muss lediglich ein Zielverzeichnis übergeben werden, in dem die TYPO3-Seite angelegt wird. typo3-site-installer -d=/var/www/typo3
Der typo3-site-installer antwortet nach Fertigstellung mit einem Hinweis über noch ausstehende Arbeiten.
Abbildung 1.24: Nach dieser Meldung ist das System schon fertig installiert Als Erstes sollten Sie die Dateirechte der TYPO3-Installation anpassen. chown www-data.www-data /var/www/typo3/ -R www-data ist der Benutzer und die Benutzergruppe des Apache Webservers. Kann dieser nicht auf die TYPO3-Verzeichnisse zugreifen, wird es zu Problemen kommen.
Mit dem TYPO3 Install Tool wird die TYPO3-Seite eingerichtet. Damit dieses Tool aufgerufen werden kann, muss ein Befehl auskommentiert werden, der den Aufruf dieses Tools aus Sicherheitsgründen unterbindet. Rufen Sie die Datei index.php mit dem vi auf: vi /var/www/typo3/typo3/install/index.php
In Zeile 40 der Datei befindet sich der Befehl die, der durch zwei Schrägstriche auskommentiert werden muss. Wechseln Sie dazu wieder mit (i) in den Insert-Modus. // die("In the main source distribution of Ty …
35
Sandini Bib
1 Installation & Konfiguration
Mit der Tastenfolge [Esc] (:) (w) (q) wird die Änderung wieder gespeichert und der Editor vi verlassen. Nun kann TYPO3 das erste Mal aufgerufen werden. Das TYPO3-Administrationsinterface befindet sich im Unterverzeichnis typo3/. Ist TYPO3 direkt im Webroot installiert, können Sie das TYPO3-Backend wie folgt aufrufen: www.IhreDomain.de/typo3/ bzw. localhost/typo3/. Nach dem Aufruf von TYPO3 wird erkannt, dass es sich um eine Neuinstallation handelt und Sie werden zum 1-2-3-Go Install Tool von TYPO3 weitergeleitet. Im Schritt eins sind die Zugangsdaten zum Datenbankserver anzugeben, damit TYPO3 auf diesem neue Datenbanken anlegen kann.
Abbildung 1.25: Die 1-2-3 Installationsvariante des TYPO3 Install Tools
36
Sandini Bib
1.3 Installation auf Linux
Im zweiten Schritt müssen Sie eine neue Datenbank anlegen, in die das Content Management System die Daten ablegen kann. Die bereits existierenden Datenbanken sollten hierzu nicht genutzt werden.
Abbildung 1.26: TYPO3 benötigt eine eigene Datenbank, die über das Install Tool angelegt werden kann Im dritten Schritt werden dann noch einige Daten importiert und eine Basis-Datenbankstruktur angelegt, bevor das Install Tool die »frohe Botschaft« verkündet. Bevor Sie jetzt das TYPO3-Backend aufrufen, sollten noch ein paar wichtige Einstellungen erwähnt werden. Wie das Install Tool empfiehlt, sollten Sie noch ein paar grundlegende Änderungen vornehmen, da sonst jeder Zugriff auf das Install Tool bekommen kann. Der Link CONTINUE TO CONFIGURE TYPO3 öffnet das Standard Install Tool. Hier sollten Sie zuerst ein neues Kennwort für das Install Tool festlegen, was unter dem Punkt acht ABOUT möglich ist. Damit ist das Install Tool schon nicht mehr mit dem allgemein bekannten Kennwort aufzurufen.
37
Sandini Bib
1 Installation & Konfiguration
Abbildung 1.27: Jetzt kann schon mit der Arbeit in TYPO3 losgelegt werden Wenn Sie die Konfiguration abgeschlossen haben, sollte der die-Befehl, den Sie kurz zuvor auskommentiert haben, wieder aktiviert werden. Wenn Sie wie weiter unten unter Abschnitt 2.3.7, Das Install-Tool sichern, beschrieben vorgehen, können Sie die Deaktivierung des Install-Tools sogar mit einer Weiterleitung verbinden. Über die Adresse http://192.168.1.16/typo3/typo3/ können Sie das TYPO3-Backend aufrufen. Das Kennwort für den ADMIN lautet password und sollte natürlich auch schnellstmöglich geändert werden.
38
Sandini Bib
1.3 Installation auf Linux
1.3.4
Automatische Backups durch cron-Job
Backup-Erweiterungen für TYPO3 gibt es mittlerweile einige. Allerdings muss der Administrator diese immer manuell starten. Wir wollen Ihnen jetzt ein einfaches Beispiel vorstellen, womit regelmäßig automatische Backups durch einen Cronjob auf Linux-Systemen erzeugt werden können. Dabei wird zum einen ein Dump der Datenbank gesichert und in einer weiteren Datenbank die TYPO3-Dateistruktur. In diesem einfachen Beispiel gehen wir von einer Stand Alone TYPO3-Installation aus. Das vorgestellte Skript ist aber auch auf andere Serverkonfigurationen erweiterbar. #!/bin/bash # aktuellen Wochentag setzen wochentag=`date '+%A'` # Datenbank Dump erzeugen und mit gzip packen mysqldump --opt -h localhost -u root –p IhrPassword typo3_db | gzip > /typo3backup/typo3_backup.dump.sql.$ wochentag.gz # Dateistruktur sichern und mit gzip packen tar -cf /typo3backup/typo3_backup.$ wochentag /var/www/typo3Verzeichnis/ gzip -f /typo3backup/typo3_backup.$ wochentag
In der Zeile 3 wird der aktuelle Wochentag in die Variable wochentag geschrieben. Die Backup-Dateien erhalten später den Wochentag ZUSATZ. So werden die Backups in einem wöchentlichen Zyklus überschrieben. In der Zeile 5 wird der Dump vom der MySQL-Datenbank erzeugt. Der Dump wird mit gzip gepackt und im Verzeichnis /typo3backup/ abgelegt. Sie müssen also das Verzeichnis angelegt und gzip auf Ihrem Linux-System installiert haben. Hinter -u müssen Sie den Datenbankbenutzer angeben, der bei den meisten Installationen root ist. Hinter -p müssen Sie das Kennwort des Benutzers angeben. Sollten Sie kein Kennwort vergeben haben, kann die Angabe zum Testen entfernt werden. Sie sollten bei einem Live-System aber immer ein Kennwort vergeben. Als letzte Angabe fehlt noch der Name der Datenbank, die gesichert werden soll. Sie können den mysqldump-Befehl auch direkt über eine Shell ausprobieren. Je nach Datenbankgröße kann der Dump allerdings einige Zeit in Anspruch nehmen. Jetzt muss noch die Dateistruktur gesichert werden. Dazu wird in der vorletzten Zeile unseres kleinem Backup-Skriptes ein TAR-Ball erzeugt. Auch dieser TAR-Ball wird in das /typo3backup/-Verzeichnis geschrieben und erhält als Zusatz den aktuellen Wochentag. Anschließend wird der TAR-Ball mit dem Programm gzip noch komprimiert und fertig ist das Backup-Skript. Die acht Zeilen Code speichern Sie in eine Datei mit der Endung .sh.
39
Sandini Bib
1 Installation & Konfiguration
Jetzt muss nun noch dafür gesorgt werden, dass dieses Backup-Skript täglich ausgeführt wird. Mit dem Befehl crontab –e können Sie Ihre crontab-Einträge editieren. Geben Sie die folgende Zeile ein, um das Backup-Skript täglich um 3:00 Uhr zu starten: 0 3 * * * /Pfad zum Backup-Skript/backupSkript.sh
Die Änderungen an der crontab können anschließend mit crontab –l überprüft werden. Jetzt sollte täglich um 3:00 Uhr ein Backup angelegt werden. Bei Problemen überprüfen Sie die Rechte an der Skript-Datei.
1.3.5
Benutzerrechte im Dateisystem korrekt setzen
Damit die TYPO3-PHP-Skripte vom Webserver ausgeführt werden können, müssen die Zugriffsrechte korrekt gesetzt werden. Hat der Webserver nicht ausreichend Rechte, um die Skripte auszuführen, erhalten Sie eine Fehlermeldung. Die Zugriffsrechte sind meist korrekt gesetzt. Das Problem besteht oft darin, dass der User nicht korrekt gesetzt ist. Als Besitzer muss der User gesetzt sein, auf dem Ihr Webserver läuft. Auf Linux-Servern finden Sie den Benutzer in der Apache-Konfigurationsdatei httpd.conf. Bei den meisten Distributionen finden Sie die Datei im Verzeichnis /etc/apache/. Von der Server-Konsole können Sie die Konfigurationsdatei mit dem Editor vi aufrufen. vi /etc/apache/httpd.conf
Suchen Sie in der Konfigurationsdatei nach User. In der darauf folgenden Zeile werden Sie auch gleich die Gruppe finden, unter der der Webserver läuft. Bei vielen Distributionen heißen sowohl der User als auch die Gruppe www-data. Damit wissen Sie nun, wie der User und die Gruppe lauten. Die Zugriffsrechte des TYPO3-Verzeichnisses müssen jetzt entsprechend gesetzt werden. Mit dem Befehl chown müssen Sie den Eigentümer der TYPO3-Skripte anpassen, wenn nicht schon der korrekte User gesetzt ist. Sie geben nach dem Befehl erst den User, dann die Gruppe getrennt durch einen Punkt an, anschließend folgt das TYPO3-Verzeichnis. Die Option -R bewirkt, dass der Besitzer auch für alle Unterverzeichnisse entsprechend gesetzt wird. chown www-data.www-data TYPO3Verzeichnis –R
Mit dem Befehl ls –la können Sie überprüfen, ob der Benutzer und die Gruppe korrekt geändert wurden.
40
Sandini Bib
1.3 Installation auf Linux
1.3.6
Das Install-Tool sichern
Über das Install Tool können Sie Admin-User anlegen und auf die Datenbank zugreifen. Das Install Tool sollte also nur bei der Installation zugänglich gemacht werden. Ist TYPO3 installiert und fertig eingerichtet, wird das Tool nicht oder nur sehr selten benötigt und sollte dann deaktiviert werden. Um den Aufruf des Install Tools zu unterbinden, ist bereits eine Code-Zeile im Skript eingeführt, die Sie sicherlich bei der Installation bereits auskommentiert haben. Die Zeile befindet sich in der Datei index.php im Verzeichnis typo3/install/. // die("In the source distribution of TYPO3, the install script is disabled by a die() function call. Fix: Open the file typo3/install/index.php and remove/out-comment the line that outputs this message!");
Die Funktion die bricht die Abarbeitung des Skriptes ab und gibt eine Nachricht aus. Durch Entfernen der beiden Schrägstriche wird der Code aktiv, die Funktion die bricht die Abarbeitung des Skriptes ab und gibt eine Nachricht aus. Wenn Sie die Nachricht ein wenig anpassen, können Sie die Aufrufe des Install Tools zu Ihrer Startseite umleiten. Dazu ist ein wenig HTML-Code notwendig. Das wichtigste Element ist der Meta-Tag, der zu einer anderen Seite weiterleitet. <meta http-equiv=\"refresh\" content=\"0;URL=../../\">
Über den Parameter content stellen Sie die Zeit bis zur Weiterleitung und das Ziel ein. In diesem Fall wird einfach in der Verzeichnishierarchie zwei Ebenen nach oben weitergeleitet, wo sich die Startseite befindet. Sie können natürlich auch zu einer anderen beliebigen Seite weiterleiten. Mit der die-Funktion würde das dann wie folgt aussehen: die("<meta http-equiv=\"refresh\" content=\"0;URL=../../\">Unbenanntes Dokument<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">");
Den Code müssen Sie in der index.php in Zeile 46 einfügen. Der Code muss innerhalb der if-Bedingung stehen. Wenn Sie allerdings direkt weiterleiten, wie im Beispiel beschrieben, sollten Sie besser die PHP-Funktion header verwenden. Das ist die sicherere Methode. header("Location: http://www.IhreDomain.de"); exit;
Geben Sie über die Eigenschaft Location Ihre Domain an. Das anschließende exit stellt sicher, dass auch wirklich kein Code mehr ausgeführt werden kann. Diese Weiterleitung wird serverseitig vorgenommen und vom Browser des Clients, wie im vorherigen Beispiel, was deutlich sicherer ist.
41
Sandini Bib
1 Installation & Konfiguration
1.4
MySQL-Datenbank
MySQL ist eine attraktive Alternative zu hochpreisigen, komplexeren DatenbankTechnologien. Seine preisgekrönte Geschwindigkeit, Skalierbarkeit und Zuverlässigkeit machen MySQL zur richtigen Wahl für IT-Abteilungen in den Unternehmen, für Webentwickler und Software-Entwickler.
1.4.1
root-Passwort setzen
Sie sollten ein Kennwort für den Benutzer root festlegen. Andernfalls ist ein Zugriff ohne Kennwort auf die Datenbank möglich. Mit dem folgenden Befehl setzen Sie ein Kennwort für den Benutzer root. mysqladmin –u root password new-password
Wenn die MySQL-Datenbank nicht extern erreichbar sein muss, sollten Sie darauf achten, dass skip-networking in der Datei my.cnf nicht auskommentiert ist. Mit diesen beiden Einstellungen ist bereits ein gutes Maß an Sicherheit gewährleistet. Wenn Sie jetzt noch jeder neu angelegten Datenbank einen eigenen Benutzer mit Kennwort zuweisen, kann Ihre Datenbank bereits als äußerst sicher gelten.
1.4.2
Datenbank-Frontend MySql Commander einsetzen
Das grafische Datenbank-Frontend phpMyAdmin ist bereits in TYPO3 integriert und kann vom Administrator im Backend aufgerufen werden. Ein alternatives Frontend ist der MySQL Commander von Oliver Kührig, der unter http://www.bitesser.de heruntergeladen werden kann. Der MySQL Commander wird als ZIP-Archiv angeboten und kann auf dem LinuxServer mit dem Befehl unzip mysqlcommander.zip entpackt werden. Anschließend müssen die Dateien in ein Verzeichnis im Document Root verschoben werden, damit der MySQL Commander auch aufgerufen werden kann. Damit der Webserver das Web Frontend ausgeben kann, müssen jetzt noch die Dateirechte angepasst werden. Dazu reicht es in der Regel, mit dem Befehl chown den Besitzer der Webserver einzutragen. In diesem Beispiel setzen wir die Rechte des Ordners samt aller Dateien, die sich in dem Ordner befinden. chown www-data.www-data mysqlcommander/ -R
Über das install.php-Skript im Unterverzeichnis ressourcen/install/ können Sie nun die Konfiguration des MySQL Commanders vornehmen.
42
Sandini Bib
1.4 MySQL-Datenbank
Abbildung 1.28: Der MySQL Commander kann über das mitgelieferte KonfigurationsSkript eingestellt werden Nachdem die Konfiguration abgespeichert wurde, kann der Commander über den Link am Seitenanfang der Konfigurationsseite aufgerufen werden.
1.4.3
Datenbank-Backup einspielen
Datenbank-Backups können mit den grafischen Frontend-Werkzeugen, wie phpMyAdmin oder MySQL Commander erzeugt und wieder eingespielt werden. Sie werden aber beim Arbeiten mit Datenbank-Backups schnell an die Grenzen dieser Werkzeuge stoßen. Nicht so bunt und anschaulich, aber wesentlich stabiler und sicherer ist die Arbeit direkt auf der Konsole. Hier können Sie mit dem Befehl mysqldump ein Backup einer Datenbank erzeugen.
43
Sandini Bib
1 Installation & Konfiguration
Das Manual des mysqldump können Sie mit man mysqldump aufrufen. Hier werden alle Optionen und Beispiele erklärt. In den meisten Fällen genügen die folgenden Optionen, um ein Dump der Datenbank zu erzeugen: mysqldump --opt -h localhost -u Benutzer –p Passwort Datenbankname >/pfad/MySQL_Backup.sql
Dieses auf der Konsole erzeugte Dump kann ohne Probleme wieder eingespielt werden. Mit dem Befehl mysql kann das Backup wieder eingespielt werden. Dazu geben Sie einfach die Zieldatenbank an und die SQL Dump-Datei. Durch die spitze Klammer wird der SQL Dump in die Datenbank geschrieben. mysql Name_Zieldatenbank < /pfad/MySQL_Backup.sql
Wie gesagt, Sie können auch den Umweg über ein Datenbank-Frontend gehen. Schneller ist aber immer die Variante über die Konsole.
1.5
PHP-Konfigurationseinstellungen
Neben der Konfiguration von TYPO3 sind einige Einstellungen in der Skriptsprache PHP vorzunehmen. Hier werden besonders Beschränkungen und sicherheitsrelevante Optionen konfiguriert, die in der zentralen Konfigurationsdatei php.ini eingetragen werden.
1.5.1
PHP-Speicherlimit
Bei der Installation von PHP wird das Limit des Arbeitsspeichers, den PHP zum Ausführen von Skripten verwenden darf, auf 8 Mbyte voreingestellt. Das ist für TYPO3 bei weitem nicht ausreichend. Sie müssen diesen Wert auf wenigsten 32 Mbyte hoch setzen. Diese Einstellung finden Sie in der PHP-Initialisierungsdatei php.ini. Die Datei ist bei den meisten Linux-Distributionen im Verzeichnis /etc/ oder /etc/php4/apache/ zu finden. Suchen Sie in der Datei php.ini nach der Variable memory_limit. Dort setzen Sie den Wert auf wenigstens 32M herauf. Bei Shared Hosting-Servern kann das ein Problem werden. Wie der Name schon sagt, handelt es sich hier um Server, die sich mehrere Kunden teilen müssen. Je nachdem, mit wie viel Speicher ein solcher Server ausgestattet ist und wie viele Kunden der Server beherbergt, stehen dem Einzelnen nur feste Speichermengen zur Verfügung. Diese Werte können Sie nicht anpassen. Sie sollten vor der Installation von TYPO3 also genau die Leistungsbeschreibung Ihres Providers ansehen, ob zum Ausführen von TYPO3 auch ausreichend Arbeitsspeicher zur Verfügung gestellt wird.
44
Sandini Bib
1.5 PHP-Konfigurationseinstellungen
1.5.2
PHP Upload-Limits
Das Upload-Limit kann in TYPO3 eingestellt werden, aber auch in PHP wird der Dateiupload begrenzt und kann sogar ganz unterbunden werden. Sollte ein Upload nicht funktionieren, überprüfen Sie zunächst die Einstellung des File-Limits im TYPO3-Install Tool unter Punkt 4 ALL CONFIGURATION.
Abbildung 1.29: Die maximale Dateigröße kann ein Grund für Probleme beim Upload sein Die zweite Begrenzung wird in PHP eingestellt. Um das PHP Upload-Limit anzupassen, müssen Sie die php.ini öffnen. Über die Einstellung file_uploads kann der Upload über HTTP gänzlich unterbunden werden. In der php.ini muss also zunächst file_uploads = On gesetzt sein. Über upload_max_filesize wird dann die maximale Dateigröße für Dateiuploads eingestellt. upload_max_filesize = 10M
Mit 10M wird das Dateilimit auf 10 Mbyte eingestellt.
1.5.3
Safe Mode
Safe Mode versucht auf Shared Hosting-Servern Sicherheitsprobleme zu lösen. Wenn safe_mode aktiviert ist, wird von PHP überprüft, ob der Eigentümer des laufenden Skripts mit dem Eigentümer der Datei übereinstimmt, an der die im Skript enthaltenen Dateifunktionen arbeiten sollen. Ist dies nicht der Fall, wird das Skript mit einer entsprechenden Fehlermeldung abgebrochen. Bei aktiviertem safe_mode kann es also zu Problemen kommen, wenn Dateifunktionen ausgeführt werden. Aus diesem Grund sollte der safe_mode möglichst deaktiviert bleiben. Dazu müssen in der PHP-Konfigurationsdatei php.ini die folgenden beiden Parameter eingestellt werden: safe_mode = Off safe_mode_gid = Off
45
Sandini Bib
Sandini Bib
2
Arbeiten mit Inhalten
In diesem Kapitel wollen wir Ihnen die vielen kleinen und großen Tricks und Kniffe zeigen, die das Arbeiten mit Content in TYPO3 erst richtig erleichtern. Aufgegliedert ist dieses Kapitel in die Bereiche: Struktur, Inhalte, Arbeiten mit Dateien und Funktionalitäten. Sicher werden auch Sie noch ein paar hilfreiche Dinge finden.
2.1
Struktur
Im Bereich Struktur zeigen wir Ihnen Hilfreiches zum Umgang mit Seiten und Seitenstrukturen. So sehen Sie, wie viele Wege zum Ziel führen können und finden manch schnelleren Pfad.
2.1.1
Seiten verstecken
Sie können Seiten von der Anzeige auf der Website ausschließen, indem Sie im SeitenHeader das Häkchen SEITE VERSTECKEN setzen. Dieses Häkchen lässt sich über die unterschiedlichsten Wege erreichen und setzen. Im Kontextmenü der Seite können Sie direkt über den Punkt AUSBLENDEN/EINBLENdas Häkchen aktivieren oder entfernen. Ebenso können Sie diese Einstellung im Kontextmenü über die Punkte der SICHTBARKEITSEINSTELLUNGEN und BEARBEITE SEITEN-HEADER erreichen und bearbeiten. DEN
Eine weitere Möglichkeit, Seiten zu verstecken und wieder sichtbar zu machen, finden Sie im Liste-Modul. Rufen Sie dazu eine Seite auf, deren Unterseiten Sie einstellen möchten. Im Hauptfenster erscheinen die Unterseiten. Aktivieren Sie hier ERWEITERTE ANSICHT. In der erweiterten Ansicht stehen Ihnen zahlreiche Icons zur Verfügung, über die Sie die Seite ebenfalls verstecken können.
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.1: Hier sehen Sie die unterschiedlichen Optionen im Kontextmenü, über die Seiten versteckt werden können
Abbildung 2.2: Seiten im Liste-Modus verstecken
2.1.2
Seiten kopieren
Sie können eine Seite über das Kontextmenü kopieren. Nachdem Sie die Seite kopiert haben, können Sie diese an beliebiger Stelle in der Seitenstruktur Ihrer Website wieder einfügen. Beim Einfügen haben Sie dann die Möglichkeit, die kopierte Seite in eine vorhandene oder nach einer vorhandenen Seite einzufügen. Das Seite-Modul ermöglicht Ihnen auch, die selektierte Seite über die Schaltfläche SEITE VERSCHIEBEN zu kopieren. Wenn Sie den Befehl SEITE VERSCHIEBEN angeklickt haben, öffnet sich der Dialog ELEMENT VERSCHIEBEN, in dem Sie dazu das Häkchen KOPIEREN STATT VERSCHIEBEN setzen müssen. Anschließend können Sie die Seite wieder an beliebiger Stelle in Ihrer Struktur einfügen.
48
Sandini Bib
2.1 Struktur
Abbildung 2.3: Eine Seite über das Kontextmenü kopieren
Abbildung 2.4: Seiten über das Seite-Modul kopieren
49
Sandini Bib
2 Arbeiten mit Inhalten
Natürlich können Sie auch im Liste-Modul Seiten kopieren. Dazu müssen Sie wieder die ERWEITERTE ANSICHT aktiviert haben. Über das Icon SEITE VERSCHIEBEN können Sie dann auch hier die Seite kopieren. Es wird auch aus dem Liste-Modul der ELEMENT VERSCHIEBEN-Dialog aufgerufen, in dem Sie wieder das Häkchen KOPIEREN STATT VERSCHIEBEN setzen müssen.
Abbildung 2.5: Seiten über das Liste-Modul kopieren
2.1.3
Seiten verschieben
Um Seiten zu verschieben, klicken Sie im Kontextmenü der betreffenden Seite auf AUSSCHNEIDEN. Anschließend können Sie die ausgeschnittene Seite über das Kontextmenü in jede Seite oder nach jeder Seite wieder einfügen.
Abbildung 2.6: Eine Seite über das Kontextmenü verschieben
50
Sandini Bib
2.1 Struktur
Außerdem können Sie Seiten über das Seite- und Liste-Modul verschieben. Im SeiteModul klicken Sie auf die Schaltfläche SEITE VERSCHIEBEN und platzieren die Seite im anschließend erscheinenden ELEMENT VERSCHIEBEN-Dialog. Dort platzieren Sie die Seite an gewünschter Stelle. Auch über das Liste-Modul können Sie den SEITE VERSCHIEBEN-Dialog aufrufen. Sie müssen die ERWEITERTE ANSICHT aktiviert haben und brauchen dann nur noch das Icon SEITE VERSCHIEBEN anzuklicken.
2.1.4
Mehrere Seiten kopieren oder verschieben
Um mehrere Seiten kopieren oder verschieben zu können, müssen Sie sich das Klemmbrett anzeigen lassen. Wechseln Sie dazu in das Liste-Modul und setzen das Häkchen vor KLEMMBRETT ANZEIGEN. Jetzt müssen Sie eines der Klemmbretter mit den Nummern eins bis drei aktivieren, indem Sie auf das kleine PLUS-Icon klicken. Es werden jetzt kleine Kästchen hinter jeder Seite angezeigt. Über diese Kästchen können Sie nun verschiedene Seiten an unterschiedlicher Stelle in der Struktur selektieren. Anschließend transferieren Sie alle ausgewählten Datensätze über das erste der vier Icons über den Kästchen auf das Klemmbrett. Abschließend wechseln Sie in eine andere Seite und fügen den Klemmbrettinhalt dort wieder ein. Auf diese Weise werden die Seiten verschoben. Wenn Sie die Seiten kopieren möchten, müssen Sie die Option OBJEKTE KOPIEREN STATT ZU VERSCHIEBEN im Klemmbrett aktivieren. Die aktivierte Option wird orange gekennzeichnet.
Abbildung 2.7:
Sie können mehrere Seiten über das Klemmbrett verschieben oder kopieren
51
Sandini Bib
2 Arbeiten mit Inhalten
2.1.5
Mehrere Seiten löschen
Genauso, wie Sie Seiten kopieren und verschieben können, können Sie auch mehrere Seiten löschen. Dazu löschen Sie die übergeordnete Seite über das Kontextmenü. Dann werden alle Unterseiten mit gelöscht.
Abbildung 2.8: Seiten über das Kontextmenü löschen In den meisten Fällen erhalten Sie an dieser Stelle aber eine Fehlermeldung. Diese Fehlermeldung ist ein Schutzmechanismus, der Benutzer davor bewahrt, komplette Seitenzweige zu löschen.
Abbildung 2.9: Sie dürfen keine Seiten mit Unterseiten löschen Um diese Fehlermeldung zu umgehen, können Sie Ihrem Benutzer die Rechte zum Löschen von Seiten mit Unterseiten geben. Rufen Sie dazu die EINSTELLUNGEN unter BENUTZER auf. Im Bereich der erweiterten Funktionen können Sie das rekursive Löschen für Benutzer erlauben.
Abbildung 2.10: Die Benutzereinstellung, um Seitenzweige löschen zu können
52
Sandini Bib
2.1 Struktur
2.1.6
Neue Seiten anlegen
Neue Seiten können über das Kontextmenü einer jeden Seite angelegt werden. Dazu klicken Sie im Kontextmenü auf den Punkt NEU. Jetzt können Sie in oder auch nach der Seite, deren Kontextmenü Sie aufgerufen haben, eine neue Seite anlegen. Wenn Sie sich für eine Variante entschieden haben, müssen Sie einen Seitentitel angeben und die neue Seite speichern. Die neue Seite wird sofort in die Struktur integriert.
Abbildung 2.11: Eine neue Seite über das Kontextmenü einfügen Eine weitere Möglichkeit zum Anlegen einer neuen Seite ist der NeuerstellungsAssistent. Dieser Assistent lädt die Seitenstruktur, in der Sie durch Klicken bequem Ihre neue Seite einfügen können. Diesen Assistenten erreichen Sie auf drei unterschiedlichen Wegen. Sie können über das Kontextmenü den Punkt NEU aufrufen – und statt nun die neue Seite direkt in oder nach der Seite zu platzieren, rufen Sie den Assistenten auf. Im Assistenten platzieren Sie Ihre neue Seite an der gewünschten Stelle. Die neue Seite wird nach dem Speichern sofort in die Seitenstruktur integriert. Sie können den Assistenten auch direkt über WEITERE EINSTELLUNGEN im Kontextmenü aufrufen. Klicken Sie dann im sich neu öffnenden Menü auf NEUERSTELLUNGSASSISTENT. Es wird wieder die Seitenstruktur geladen, in der Sie nun Ihre neue Seite frei platzieren können. Für die dritte Möglichkeit zum Aufruf des Assistenten müssen Sie das Seiten-Modul aktiviert haben. Selektieren Sie eine Seite, innerhalb derer Sie eine neue Seite anlegen möchten. Jetzt können Sie auf NEUE SEITE klicken, um wiederum zum Assistenten zu gelangen.
53
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.12: Den Assistenten über das Kontextmenü aufrufen
Abbildung 2.13: Den Neuerstellungs-Assistenten über die weiteren Einstellungen des Kontextmenüs aufrufen
54
Sandini Bib
2.1 Struktur
Abbildung 2.14: Den Assistenten aus dem Seite-Modus aufrufen
2.1.7
Mehrere Seiten schnell erzeugen
Damit Sie bei umfangreicheren Webseiten nicht jede Seite separat anlegen müssen, gibt es eine kleine Hilfe, mit der Sie mehrere Unterseiten auf einmal anlegen können. Dazu müssen Sie in den Funktionen-Modus wechseln. Selektieren Sie dann die Seite, in der Sie Ihre neuen Unterseiten anlegen möchten, und wählen Sie unter ERWEITERTE FUNKTIONEN den Assistenten ERZEUGE MEHRERE SEITEN aus. Sie können jetzt bis zu neun neue Seiten zugleich anlegen. Geben Sie dazu die Titel der einzelnen Seiten ein und bestimmen Sie, wo die neuen Seiten angelegt werden sollen, falls schon Unterseiten vorhanden sind. Wenn die Seiten vorerst nicht sichtbar sein sollen – etwa damit Sie diese im Hintergrund ungestört mit Inhalten füllen können –, aktivieren Sie das Häkchen NEUE SEITEN VERBERGEN. Sind alle Angaben gemacht, können Sie die neuen Seiten mit der Schaltfläche SEITEN erzeugen. Nach der Bestätigung des Hinweises werden die neuen Seiten in der Seitenstruktur angelegt. ANLEGEN
55
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.15: Mehrere Seiten auf einen Schlag bequem mit den erweiterten Funktionen anlegen
2.1.8
Seiten sortieren
Wenn Sie Seiten neu sortieren möchten, können Sie dies auch von einem Assistenten erledigen lassen. Rufen Sie dazu im Funktionen-Modul die Seite auf, deren Unterseiten Sie sortieren möchten. Dort wählen Sie unter ERWEITERTE FUNKTIONEN den Assistenten SORTIERE SEITEN aus, mit dem Sie Seiten nach vier Kriterien sortieren können: alphabetisch nach dem Seiten- oder dem Untertitel, nach dem Erzeugungszeitpunkt oder nach dem Zeitpunkt der letzten Änderung der jeweiligen Seite. Bei der Sortierung nach den Zeitpunkten werden die Seiten von alt nach neu sortiert. Also stehen die Seiten mit dem ältesten Datum am Anfang. Aber besonders bei der Sortierung nach dem Änderungszeitpunkt möchte man häufig die Seiten mit den letzten Änderungen nach oben sortieren. Das erreichen Sie, indem Sie die Sortierreihenfolge nach der Sortierung umkehren. Sortieren Sie Ihre Seiten nach dem Änderungszeitpunkt und kehren Sie die Reihenfolge anschließend um. Auf diese Weise haben Sie die Seite mit der letzten Änderung als erstes.
56
Sandini Bib
2.2 Inhalte
Abbildung 2.16: Seiten lassen sich komfortabel mit dem Assistenten sortieren Achtung Bei großen Seitenanzahlen können Sie schnell die maximale Zeit erreichen, die einem PHP-Skript zur Verfügung steht, um den Programmcode auszuführen. In der Regel stehen dafür 30 Sekunden zur Verfügung. Wenn Sie mehrere hundert Seiten sortieren möchten, kann das je nach Ausstattung des Servers schon einige Minuten in Anspruch nehmen. In diesem Fall sollten Sie die Bearbeitungszeit für PHP-Skripte durch Anpassen der Variablen max_execution_time in der Datei php.ini höher stufen.
2.2
Inhalte
Im Bereich Inhalte wollen wir Ihnen Hilfen und Anregungen für Standardsituationen im Umgang mit unterschiedlichsten Contentelementen geben.
2.2.1
Einfaches Bearbeiten der Datumsfelder
Im TYPO3-Backend gibt es zwei unterschiedliche Datumsfelder. Einmal das Datumsfeld ohne Zeit, in denen der Tag, Monat und das Jahr angegeben wird. Diese Angaben werden durch Bindestriche getrennt. Im erweiterten Datumsfeld kann zusätzlich noch die Zeit angegeben werden.
57
Sandini Bib
2 Arbeiten mit Inhalten
Um die Eingabe von Daten zu erleichtern, gibt es eine automatische Berechnung des Datums. Dabei geben Sie einfach die Differenz zum aktuellen Datum in Tagen an. Also +1 für das morgige Datum oder -7 das für das Datum vor einer Woche. TYPO3 berechnet das Datum dann automatisch. Bei den Datumsfeldern mit Zeit wird als Zeit standardmäßig immer die aktuelle Zeit eingetragen. Wenn Sie also ein Seiteninhaltselement am dem morgigen Tag für eine Woche veröffentlichen möchten, dann brauchen Sie lediglich +1 in das START-Feld und +8 in das STOP-Feld einzugeben. Beim Verlassen des jeweiligen Feldes berechnet TYPO3 das gewünschte Datum.
Abbildung 2.17: Lassen Sie TYPO3 das Datum berechnen
2.2.2
Links im RTE (Rich Text Editor) löschen
Wenn Sie Texte im Rich Text Editor verlinkt haben, dann können Sie diese Links auf gleichem Weg wieder entfernen, auf dem Sie den Link angelegt haben. Markieren Sie also als Erstes den Text, der bereits verlinkt ist. Klicken Sie anschließend im Rich Text Editor auf das Icon LINK EINFÜGEN, um den Dialog LINK EINFÜGEN/BEARBEITEN zu öffnen. Dort finden Sie vier Registerkarten zum Einfügen der unterschiedlichen Verknüpfungen wie SEITE, DATEI, EXTERNE URL und E-MAIL sowie eine Registerkarte, über die Sie die Verknüpfung löschen können. Eine weitere Möglichkeit, Links zu entfernen, ist das Icon ZEICHENART im Rich Text Editor. Setzen Sie den Cursor an eine beliebige Stelle des verlinkten Textes und klicken auf das Icon ZEICHENART. In einem kleinen Fenster bekommen Sie dann angezeigt, welches der Ziel-HTML-Marker ist. A steht hier für den A HREF, also einen Link. Jetzt können Sie diesen HTML-Marker entfernen.
58
Sandini Bib
2.2 Inhalte
Abbildung 2.18: Links können über den Link-Dialog bearbeitet und auch entfernt werden Mithilfe dieser Variante können Sie auch beliebige andere HTML-Marker aus jedem Text entfernen. Die dritte und wohl einfachste Variante Links im Rich Text Editor zu löschen, ist einfach den Cursor direkt nach dem verlinkten Text zu positionieren. Dann drücken Sie die (æ___) (auch Backspace) genannt, mit der Sie das Zeichen vor dem Cursor löschen können. Jetzt wird aber nicht das letzte Zeichen Ihres verlinkten Textes gelöscht, sondern die Verlinkung. Der Text bleibt unverändert.
2.2.3
Alternative Navigationstitel für Seiten setzen
Im Backend und Frontend wird normalerweise der Seitentitel herangezogen, um die Navigationspunkte zu generieren. Wenn Sie im Frontend andere Bezeichnungen für Ihre Seiten in den Menüs haben wollen als im Backend, dann können Sie dies über den Navigationstitel realisieren. Ist ein Navigationstitel angegeben, wird dieser für die Menüpunkte auf der Website verwendet. Im Backend wird die Seitenstruktur weiterhin aus den Seitentiteln generiert. Damit Sie den Navigationstitel eingeben können, müssen Sie den Seiten-Header bearbeiten und den TYP der Seite auf ERWEITERT umstellen. Erst bei Seiten vom Typ ERWEITERT erscheint das Feld NAVIGATIONSTITEL. Geben Sie hier jetzt den gewünschten Navigationstitel ein.
59
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.19: Sie können alle HTML-Marker über Zeichenart setzen auch wieder entfernen
Abbildung 2.20: Alternative Navigationstitel können über Seiten vom Typ Erweitert angegeben werden
60
Sandini Bib
2.2 Inhalte
2.2.4
Seiten anzeigen lassen
Sie können Ihre Seiten aus dem Backend über das Kontextmenü der jeweiligen Seite aufrufen. Das Frontend mit der entsprechenden Seite wird dann in einem neuen Browserfenster geladen. Alternativ dazu können Sie Seiten auch im Seite- oder ListeModul durch Klicken der Lupe-Symbole im Hauptbereich aufrufen.
Abbildung 2.21: Das Frontend in einem neuen Browserfenster über das Kontextmenü aufrufen Sie können sich das Frontend aber auch im Hauptfenster des Backend anzeigen lassen. Dazu müssen Sie nur in das Anzeigen-Modul wechseln und die gewünschte Seiten aufrufen.
Abbildung 2.22: Das Frontend kann im Backend über das Anzeigen-Modul aufgerufen werden
61
Sandini Bib
2 Arbeiten mit Inhalten
Wenn Sie auf einer Seite mehrere Inhaltselemente platziert haben, können Sie auch direkt zu einem dieser Inhaltselemente springen. Dazu müssen Sie in das Liste-Modul wechseln. In der Seitenstruktur selektieren Sie nun die gewünschte Seite und im Hauptfenster klicken Sie auf das Lupe-Icon des gewünschten Datensatzes. Das Frontend wird dann in einem neuen Browserfenster geladen und zeigt direkt das gewünschte Seiteninhaltselement an. Damit das Lupe-Icon angezeigt wird, müssen Sie die ERWEITERTE ANSICHT aktiviert haben.
Abbildung 2.23: Über das Liste-Modul kann direkt zu Inhaltselementen gesprungen werden
2.2.5
Shortcut-Seiten
Seiten vom Typ Shortcut sind Seiten, bei deren Aufruf direkt auf eine andere Seite verwiesen wird. Sie müssen zum Erstellen von solchen Shortcut-Seiten im SeitenHeader den TYP der Seite auf SHORTCUT einstellen. In der Seitenstruktur wird dann nach dem Speichern der Änderung ein anderes Symbol für die Seite angezeigt.
Abbildung 2.24: Das Icon für Seiten vom Typ Shortcut Außerdem erhalten Sie jetzt neue Felder, über die Sie das Ziel des Shortcuts einstellen müssen. Sie können eine Zielseite unter SHORTCUT zur Seite angeben. Dann wird direkt zu dieser Seite weitergeleitet. Über den Shortcut-Modus kann auf eine zufällige Unterseite der zuvor angegebenen Seite oder zur ersten Unterseite weitergeleitet werden. Wenn Sie keine Angaben bei SHORTCUT zur Seite gemacht haben, wird der Modus auf die aktuelle Seite angewendet. In eines der beiden Felder müssen Sie aber eine Angabe machen, da TYPO3 sonst nicht weiterleiten kann und eine entsprechende Meldung ausgibt.
62
Sandini Bib
2.2 Inhalte
Abbildung 2.25: Die wichtigen Felder der Seite vom Typ Shortcut
2.2.6
Der Seitentyp Externe URL
Externe URL ist ein spezieller Seiten-Typ, der direkt zu einer externen URL weiterleitet. Bearbeiten Sie den Seiten-Header und stellen Sie den TYP auf EXTERNE URL ein. Sie erhalten einen neuen Bereich, in dem Sie die URL eingeben müssen. Außerdem müssen Sie den Typ der URL angeben. In der Regel geben Sie beim TYP http:// an, es sind aber auch alle andere Internetprotokolle möglich. Im Feld ZIEL können Sie den Ziel-Frame angeben, in den die URL geladen werden soll. Soll die URL in einem neuen Browserfenster geladen werden, müssen Sie als Ziel _blank angeben.
Abbildung 2.26: So legen Sie einen Menüpunkt mit einer Verlinkung zur TYPO3.org-Seite an Im Backend werden Seiten, die auf eine externe URL verweisen, mit einem gesonderten Icon gekennzeichnet. Dies geschieht direkt nach der Umstellung des Seiten-Typs. Im Frontend wird diese Seite wie alle anderen in Ihrem Menü angezeigt. Beim Klick auf diesen Menüpunkt wird dann statt einer internen TYPO3-Seite lediglich die externe URL geladen.
Abbildung 2.27: Das Icon im Backend für Seiten vom Typ Externe URL
63
Sandini Bib
2 Arbeiten mit Inhalten
2.2.7
Inhalte bearbeiten
Im Seiten-Modus gibt es zwei wichtige Bearbeitungs-Modi. Meist wird der SpaltenModus verwendet. Ist die Anzeige nicht durch TypoScript verändert worden, werden im Spalten-Modus die Spalten LINKS, NORMAL, RECHTS und RAND angezeigt. In den einzelnen Spalten befinden sich dann die Inhaltselemente. Sie können die Inhaltselemente durch Klicken auf den Text oder auf das BEARBEITEN-Icon zur Bearbeitung öffnen. Die Inhaltselemente lassen sich auch über das Kontextmenü der jeweiligen Inhalts-Symbole zur Bearbeitung öffnen.
Abbildung 2.28: Die drei Möglichkeiten, Inhalte zur Bearbeitung im Spalten-Modus zu öffnen
64
Sandini Bib
2.2 Inhalte
Für ein schnelles Bearbeiten können Sie im Seite-Modul vom Spalten-Modus in den Schnelleingabe-Modus wechseln. Im Schnelleingabe-Modus wird das erste Inhaltselement in der Spalte NORMAL sofort nach dem Seitenaufruf zur Bearbeitung geöffnet. Am Ende der Seite wird eine Übersicht aller auf der Seite vorhandenen Inhaltselemente angezeigt. Hier können Sie dann auch zwischen den Inhaltselementen wechseln, Inhaltselemente verschieben oder neue Inhalte erzeugen. Dieser Modus steht aber nicht bei Seiten zur Verfügung, die vom Typ SHORTCUT oder EXTERNE URL sind.
Abbildung 2.29: Die Schnelleingabe erleichtert den Umgang mit Inhaltselementen
65
Sandini Bib
2 Arbeiten mit Inhalten
Auch im Liste-Modul können Sie jederzeit Ihre Seiteninhalte bearbeiten. Wenn Sie die ERWEITERTE ANSICHT aktiviert haben, steht Ihnen eine Palette mit kleinen Icons hinter jedem Inhaltselement zur Verfügung. Über das Icon DATENSATZ BEARBEITEN, das ist das kleine STIFT-Symbol, können Sie das Inhaltselement zur Bearbeitung öffnen. Ist die ERWEITERTE ANSICHT deaktiviert, können Sie immer noch über das Kontextmenü des jeweiligen Inhaltselementes dieses zur Bearbeitung öffnen.
Abbildung 2.30: Inhaltselemente können auch über das Liste-Modul bearbeitet werden
2.2.8
Inhalte zwischen Seiten verschieben
Inhaltselemente können im Seiten-Modul und im Liste-Modul über das Kontextmenü des jeweiligen Elementes ausgeschnitten werden. In der Zielseite klicken Sie dann auf das Inhaltselement, hinter dem Sie das zuvor ausgeschnittene Element platzieren möchten.
Abbildung 2.31: Inhalte über das Kontextmenü verschieben
66
Sandini Bib
2.2 Inhalte
Eine weitere Möglichkeit verbirgt sich im Kontextmenü hinter den Punkt WEITERE EINSTELLUNGEN. Dort finden Sie unter anderem den Punkt ELEMENT VERSCHIEBEN. In dem sich öffnenden Dialog ELEMENT VERSCHIEBEN können Sie in der Seitenstruktur eine Seite auswählen und das Inhaltselement an gewünschter Position platzieren. An dieser Stelle können Sie wieder durch Aktivieren der Option KOPIEREN STATT VERSCHIEBEN das Inhaltselement auch als Kopie an der gewünschten Stelle einfügen.
Abbildung 2.32: Elemente über Weitere Einstellungen des Kontextmenüs verschieben Diesen Dialog können Sie auch aus dem Liste-Modul direkt aufrufen. Sie müssen dazu nur die ERWEITERTE ANSICHT aktiviert haben. Hinter jedem Inhaltselement erscheint dann eine Reihe von Icons, wovon eines das Verschieben ermöglicht.
Abbildung 2.33: Inhalte aus dem Liste-Modul verschieben Sie können mehrere Inhaltselemente gleichzeitig über eines der numerischen Klemmbretter verschieben. Sie müssen dazu wieder in den Liste-Modus wechseln und sich das Klemmbrett anzeigen lassen. Anschließend öffnen Sie eines der Klemmbretter mit der Nummer eins bis drei. Sie haben dann die Möglichkeit, hinter jedem Element ein Häkchen zu setzen. Wählen Sie dort die zu verschiebenden Inhaltselemente aus und transferieren Sie die Elemente auf das Klemmbrett. Wenn die Inhalte auf das Klemmbrett transferiert wurden, können Sie diese über das EINFÜGEN-Symbol an beliebiger Stelle wieder einfügen. Wenn die Elemente kopiert werden sollen, müssen Sie auf das Icon OBJEKTE KOPIEREN im Klemmbrett klicken. Das Icon wird dann orange hinterlegt.
STATT ZU VERSCHIEBEN
67
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.34: So können Sie mehrere Inhalte auf das Klemmbrett transferieren
Abbildung 2.35: Das Einfügen Symbol
2.2.9
Aktuelle Änderungen rückgängig machen
TYPO3 speichert die letzten zwanzig Änderungen, die Sie an Datensätzen vornehmen. Um die letzte Änderung rückgängig zu machen, öffnen Sie den Datensatz einfach zur Bearbeitung. Neben den Icons zum Speichern, Schließen und Löschen des Datensatzes am Anfang und am Ende der Seite befindet sich das Icon, um Änderungen rückgängig zu machen. Klicken Sie das Icon einfach an und machen damit die letzte Änderung am aufgerufenen Datensatz rückgängig.
Abbildung 2.36: Die letzte Änderung kann mit einem Klick wieder rückgängig gemacht werden Wenn Sie einen früheren Bearbeitungsstand wieder herstellen möchten, dann müssen Sie den Bearbeitungsverlauf aufrufen. Über WEITERE EINSTELLUNGEN im Kontextmenü können Sie den Bearbeitungsverlauf von Seiten und Inhaltselementen öffnen. Sie bekommen dann eine Verlaufsliste mit den Änderungen angezeigt. Über das UNDO-Icon können Sie nun die Werte bis zu einem der aufgelisteten Zeitpunkte rückgängig machen. Über das INFO-Icon können Sie sich die Änderungen detailliert auflis-
68
Sandini Bib
2.2 Inhalte
ten lassen, die vorgenommen wurden und rückgängig gemacht werden können. In der Detailansicht können Sie dann zum jeweils nächsten und vorherigen Status wechseln und so die Änderungen nachvollziehen.
Abbildung 2.37: Im Bearbeitungsverlauf können Sie bis zu zwanzig Änderungen rückgängig machen
2.2.10
Bilder in Inhaltselemente einfügen
Bilder können in die Inhaltselemente BILD und TEXT MIT BILD eingefügt werden. Öffnen Sie Ihr Inhaltselement und scrollen hinunter Sie bis zum Bereich BILD. Über die Schaltfläche DURCHSUCHEN öffnet sich der DATEI-Dialog Ihres lokalen Computers. Sie können über diesen Dialog eine Grafik von Ihrem lokalen Computer direkt auf den Webserver übertragen. TYPO3 speichert die so übertragenen Dateien stan-
69
Sandini Bib
2 Arbeiten mit Inhalten
dardmäßig im Verzeichnis upload oder in einem der dort vorhandenen Unterverzeichnisse ab. Das übertragene Bild wird automatisch im Bereich INHALTSELEMENT eingefügt.
Abbildung 2.38: Bilder können direkt eingefügt werden, oder aber über den Element Browser, der einige Zusatzfunktionen bietet Wenn Sie Bilder über den TYPO3 Element Browser einfügen möchten, benötigen Sie Zugriffsrechte auf das Dateiliste-Modul. Im Element Browser können Sie gleichzeitig mehrere Dateien übertragen und in Ordnerstrukturen ablegen. Diese Bilder können auch mehrfach auf unterschiedlichen Inhaltselementen verwendet werden. Auch lassen sich über den Element Browser mehrere Bilder zuweisen.
2.2.11
Bilder im RTE einfügen
Im Rich Text Editor fügen Sie Bilder über das Icon BILD EINFÜGEN ein. Im folgenden neuen Fenster bekommen Sie links Ihren Verzeichnisbaum angezeigt und rechts den Inhalt des selektierten Verzeichnisses. Über das Formular am Seitenende können Sie auch weitere Bilder auf den Webserver übertragen. Der über den Rich Text Editor geöffnete BILDER-Dialog bietet drei Möglichkeiten, Bilder einzufügen. Wenn Sie ZAUBER-BILDER einfügen, können auch Nicht-Web-Bilder wie zum Beispiel TIFF-Bildformate genutzt werden. Diese »Fremdformate« werden dann automatisch in ein Webformat konvertiert. Dabei wird automatisch auch die Größe der Grafiken für das Web optimiert.
70
Sandini Bib
2.2 Inhalte
Abbildung 2.39: Fügen Sie mehrere Bilder in einem Arbeitsschritt über den Element Browser ein Über NORMALES BILD lassen sich nur Grafiken in Webformaten (also GIF, JPG und PNG) einfügen, die nicht größer als 640x480 Pixel sind. Alle anderen Dateien werden von der Anzeige ausgeblendet. Wenn die Registerkarte DRAG’N’DROP angewählt ist, können Sie die angezeigten Bilder per Drag’n’Drop direkt in das Hauptfenster an beliebiger Textposition platzieren. Wenn Sie ein Bild eingefügt haben, können Sie dieses später noch im Text verschieben und mit den Ausrichtungs-Icons im Text ausrichten. Selektieren Sie das Bild durch Anklicken, erscheint ein Begrenzungsrahmen. Diesen Begrenzungsrahmen können Sie verändern und so die Größe des Bildes anpassen. Sollten Sie beim Verändern des Begrenzungsrahmens diesen nicht proportional verändert haben, ist das kein Problem. Nach dem Speichern des Inhaltselementes korrigiert TYPO3 die Proportionen, sodass das Bild auf jeden Fall unverzerrt angezeigt wird.
71
Sandini Bib
2 Arbeiten mit Inhalten
Wenn Sie ein Bild selektieren, der Begrenzungsrahmen wird angezeigt, und dann auf das Icon BILD EINFÜGEN im Rich Text Editor klicken, erhalten Sie die Möglichkeit, das aktuelle Bild zu bearbeiten. Hier können Sie Seitenränder, Titel des Bildes, Größe und Rand einstellen.
Abbildung 2.40: Bilder können auch im Rich Text Editor später noch angepasst werden
2.2.12
Download-Links einfügen
Um Datei-Downloads auf Ihrer Website zu platzieren, können Sie das Inhaltselement DATEIVERWEIS nutzen. Platzieren Sie es wie normale Inhaltselemente auf einer Seite. Über die Schaltfläche DURCHSUCHEN können Sie direkt von Ihrem lokalen Computer Dateien einfügen. Wenn Sie Zugriff auf das Dateiliste-Modul haben, können Sie dazu auch den TYPO3 Element Browser verwenden. Auf Wunsch zeigt TYPO3 gleich die Dateigröße im Frontend mit an. Setzen Sie dafür einfach die Option ZEIGE DATEIGRÖSSE. Über die drei Layouts können Sie die Darstellung der Download-Links beeinflussen. Sie können Vorschaubilder anzeigen lassen, Icons passend zum jeweiligen Dateiformat oder auch nur Textinformationen. Die Dateigröße ist bei diesem Inhaltselement allerdings beschränkt. Wenn Sie größere Dateien verknüpfen möchten, können Sie dies über den Rich Text Editor realisieren.
72
Sandini Bib
2.2 Inhalte
Abbildung 2.41: Dateien über das Inhaltselement Dateiverweise bzw. Dateilinks einfügen Dazu können Sie ein Inhaltselement vom Typ Text zur Bearbeitung öffnen und eine Textpassage markieren, die mit einer Datei verknüpft werden soll. Klicken Sie dann auf das Icon LINK EINFÜGEN im Rich Text Editor und selektieren den Typ DATEI. Wechseln Sie über den VERZEICHNISBAUM die Verzeichnisse und wählen Sie die Zieldatei aus. Auf diese Weise können Sie auf einfachem Weg auch größere Dateien verknüpfen. Erst bei größerer Anzahl von Downloads lohnt sich die Installation einer der vielen Download-Erweiterungen. Für die meisten Zwecke reichen die TYPO3-Standardmittel aus.
73
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.42: Dateien können auch über den Rich Text Editor verknüpft werden
2.2.13
Links zu Seiten und Elemente einfügen
Links können Sie über das LINK-Icon einfügen. Beim Klick auf das Icon öffnet sich ein Dialog mit dem SEITENBAUM und den unterschiedlichen Link-Typen im Kopf. Hier muss der Typ SEITE ausgewählt werden. Um auf den Anfang einer Seite zu verweisen, können Sie einfach auf den Seitentitel im Seitenbaum klicken. Angaben über das Ziel, also den Frame oder ein neues Fenster, können Sie am Ende machen. Wenn Sie auf den Seitentitel klicken, wird der Link erzeugt und der Dialog schließt sich automatisch. Möchten Sie nicht an den Anfang der zu verlinkenden Seite springen, sondern zu einem bestimmten Inhaltselement auf der Seite, dann können Sie dies tun, indem Sie auf das Icon rechts neben dem Seitentitel im Seitenbaum klicken. Im rechten Bereich bekommen Sie die Inhaltselemente der Seite angezeigt. Hier klicken Sie dann auf das gewünschte Inhaltselement, zu dem verlinkt werden soll.
74
Sandini Bib
2.2 Inhalte
Abbildung 2.43: Links müssen nicht immer an den Seitenanfang verweisen, sondern können auch direkt zu Inhaltselementen verweisen
2.2.14
Link zu E-Mail-Adresse
Wenn Sie in Ihrem Menü einen Link zu einer E-Mail-Adresse integrieren möchten, dann muss der TYP der Seite auf EXTERNE URL eingestellt werden. Jetzt können Sie im Feld URL die E-Mail-Adresse eingeben. Dazu müssen Sie noch den Typ auf MAILTO: einstellen. Wenn Sie jetzt im Menü auf die entsprechend eingestellte Seite klicken, wird sich Ihr standardmässig eingestellter E-Mail-Client mit der angegebenen E-Mail-Adresse im Empfängerfeld öffnen.
Abbildung 2.44: E-Mail-Adressen in die Menüstruktur integrieren
75
Sandini Bib
2 Arbeiten mit Inhalten
Üblicherweise werden Verlinkungen zu E-Mails in Inhaltselementen eingefügt. Öffnen Sie dazu den LINK EINFÜGEN/BEARBEITEN-Dialog durch Klicken auf das LINKIcon. Wählen Sie die Registerkarte EMAIL an und geben die E-Mail-Adresse in das Feld ein. Jetzt müssen Sie nur noch den Link setzen und der Dialog schließt sich automatisch.
Abbildung 2.45: In den Inhaltselementen öffnen Sie einfach den Dialog zum Einfügen von Links. Hierüber können auch Verknüpfungen zu E-Mail-Adressen eingefügt werden. Der Rich Text Editor erkennt E-Mails aber auch automatisch. Geben Sie im Rich Text Editor die E-Mail-Adresse ein. Im Anschluss drücken Sie die Leertaste oder (Enter), und der Rich Text Editor verlinkt den E-Mail-Text mit selbiger E-Mail-Adresse. Bei deaktiviertem Rich Text Editor können Sie den TYPO3 Tag LINK verwenden, um eine Verknüpfung zu einer E-Mail-Adresse einzugeben. Das würde dann wie folgt aussehen: schreib mir
2.2.15
Eine einfache Bildergalerie
Häufig will man nur ein paar Bilder in einer Galerie zusammenstellen und es lohnt nicht, dafür eine Galerie-Extension einzubinden. Für solche Situationen können Sie eine einfache Bildergalerie über das Inhaltselement BILD EINFÜGEN erstellen. Platzieren Sie das Inhaltselement auf einer Seite. Die Bilddaten sollten Sie über das Dateiliste-Modul übertragen, da dort bis zu zehn Dateien auf einmal übertragen werden können.
76
Sandini Bib
2.2 Inhalte
Wenn Sie die Daten übertragen haben, öffnen Sie das Inhaltselement zur Bearbeitung. Im nächsten Schritt müssen Sie Ihre Bilder zuweisen. Öffnen Sie dazu den TYPO3 Element Browser. Im Element Browser selektieren Sie den Ordner in der Verzeichnisstruktur, in den Sie zuvor die Bilder übertragen haben. Im rechten Bereich werden die Inhalte des Ordners aufgelistet. Hier können Sie jetzt durch Klicken auf das PLUSIcon die gewünschten Bilder auswählen. Haben Sie alle gewünschten Bilder über das PLUS-Icon der Liste hinzugefügt, können Sie das Fenster mit dem Element Browser wieder schließen. Sie sollten jetzt eine Auswahl der Bilder in der Liste unter BILDER in Ihrem Inhaltselement auffinden.
Abbildung 2.46: Senden Sie mehrere Bilder vom Element Browser in die Bilderliste des Inhaltselementes Abschließend sollten Sie die Spaltenzahl zur Darstellung der Bilder anpassen. Unter POSITION können Sie angeben, in wie vielen Spalten die Bilder arrangiert werden sollen. Die Einstellung befindet sich in der zweiten Optionspalette, die Sie entweder aktiviert haben müssen oder Sie klicken auf WEITERE OPTIONEN im Bereich POSITION. Stellen Sie gegebenenfalls noch die Bildgröße ein und aktivieren die Funktion KLICKVERGRÖSSERN, damit die Bilder auch in voller Pracht durch den Besucher angezeigt werden können.
77
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.47: Bildeinstellungen für die Galerie
2.2.16
Ein E-Mail-Formular einfügen
E-Mail-Formulare können von den Websitebesuchern ausgefüllt werden und TYPO3 überträgt die Daten an eine hinterlegte E-Mail-Adresse. Ein solches Formular fügen Sie wie alle anderen Inhaltselemente auf einer Seite ein. Das Inhaltselement finden Sie im Inhaltselemente-Assistenten unter FORMULARE. Das Mail-Formular wird mit einer Beispiel-Konfiguration eingefügt, die Sie an Ihre Wünsche anpassen können. Nachdem Sie das Formular einmal gespeichert haben, erhalten Sie neben dem Konfigurations-Feld ein Icon, über das der FORMULAR-ASSISTENT geöffnet werden kann. In diesem Assistenten lassen sich bequem ein oder mehrere neue Formular-Elemente anlegen oder bestehende bearbeiten. Im Bereich SPEZIELLE KONFIGURATION FÜR MAIL-FORMULARE müssen Sie eine Empfänger-E-Mail-Adresse angeben, damit die Formulardaten auch zugestellt werden können. Bei aktiviertem HTML-Modus werden HTML-Mails generiert, die visuell etwas ansprechender aufbereitet sind. Sollte Ihr E-Mail-Client keine HTML-Mails unterstützen, deaktivieren Sie den HTML-Modus einfach. Sollten Änderungen beim Feld EMPFÄNGER EMAIL nicht übernommen werden, dann verfügt Ihr Benutzer über nicht ausreichende Rechte. Um die E-Mail-Adresse speichern zu können, muss dem Benutzer über eine Benutzergruppe das Tabellen-Feld UNTERTITEL DER SEITENINHALTE zur Verfügung gestellt werden. Erst dann wird nach dem Speichern die E-Mail-Adresse auch übernommen. Um den Benutzer über die Weiterleitung der ausgefüllten Felder zu informieren oder dafür zu danken, kann bei der Zielseite eine Seite angegeben werden, auf die nach der Übertragung der Daten weitergeleitet wird. Damit diese Seite nicht in der Navigation auftaucht, sollten Sie diese Seite auf den Typ NICHT im Menü einstellen.
78
Sandini Bib
2.2 Inhalte
Abbildung 2.48: Der Formular-Assistent mit der Beispiel-Konfiguration
79
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.49: Der Benutzer benötigt Rechte zum Untertitel der Seiteninhalte, um die E-Mail im Formular speichern zu können
2.2.17
Eine Suche einfügen
Die Suche fügen Sie auf einer Seite ein, wie auch andere Inhaltselemente. Im Assistenten für die Inhaltselemente finden Sie die Suche im Bereich FORMULARE. Weitere Einstellungen sind nicht zu machen. Wenn Sie die Seite mit dem Suchformular aufrufen, werden Sie feststellen, dass Sie entweder die Seiten-Header und -Keywords durchsuchen können oder aber die kompletten Seiteninhalte. Bei den über die Trefferliste aufgerufenen Seiten markiert TYPO3 das gefundene Suchwort im Text gesondert.
80
Sandini Bib
2.2 Inhalte
Abbildung 2.50: Das Suchformular ist im Assistenten unter den Formularen zu finden
Abbildung 2.51: Das Suchwort wird auf den Seiten besonders hervorgehoben
81
Sandini Bib
2 Arbeiten mit Inhalten
2.2.18
Inhalte von anderen Seiten verknüpfen
Wenn Sie ein Inhaltselement auf unterschiedlichen Seiten mehrfach platzieren möchten, dann können Sie Verknüpfungen auf den Seiten einfügen, die auf das Inhaltselement verweisen. Auf diese Weise brauchen Sie bei Aktualisierungen nur das Inhaltselement zu bearbeiten und die Änderungen wirken sich auf alle Seiten aus, die dieses Inhaltselement verknüpft haben. Um eine solche Verknüpfung anzulegen, platzieren Sie ein beliebiges Inhaltselement auf Ihrer Seite. Anschließend müssen Sie den Typ des Inhaltselementes auf DATENSATZ EINFÜGEN umstellen. Der Name des Inhaltselementes dient nur zu Ihrer eigenen Orientierung und wird nicht im Frontend angezeigt. Im Frontend wird dafür der Titel des verknüpften Inhaltselementes genutzt. Jetzt müssen Sie noch das Objekt, also das Inhaltselement verknüpfen. Öffnen Sie den Element Browser und selektieren Sie das oder die gewünschten Inhaltselemente. Wenn Sie das PLUS-Icon anklicken, wird das Inhaltselement in die Liste der verknüpften Objekte übernommen, ohne dass der Element Browser geschlossen wird. Wenn Sie nur ein Element verknüpfen wollen, können Sie auch auf dessen Überschrift im Element Browser klicken. Dadurch wird das Element direkt in die Liste der Objekte aufgenommen und der Element Browser automatisch wieder geschlossen.
Abbildung 2.52: Inhaltselemente können über den Inhaltstyp Datensatz einfügen verknüpft und damit mehrfach genutzt werden, ohne jeweils Kopien anlegen zu müssen
82
Sandini Bib
2.2 Inhalte
2.2.19
Seiten im Frontend bearbeiten
Im Frontend können Sie direkt auf der Webseite Inhaltselemente und Seiten bearbeiten, löschen oder neue anlegen. Damit das möglich ist, müssen die entsprechenden Bearbeitungswerkzeuge im Frontend bei Ihrem Benutzer aktiviert sein, oder das Admin Panel muss zur Verfügung stehen, in dem Sie die Werkzeuge an- und abschalten können. Sie erhalten dann auf der Webseite kleine Icons, über die die jeweiligen Inhaltsabschnitte bearbeitet werden können. Sollten Sie keine Admin Panel- oder Bearbeitungs-Symbole auf der Webseite nach dem Backend-Login sehen, dann muss das Admin Panel vom Administrator aktiviert werden.
Abbildung 2.53: Inhalte können Sie intuitiv direkt im Frontend bearbeiten
83
Sandini Bib
2 Arbeiten mit Inhalten
2.2.20 Mehrere Inhalte zur gleichzeitigen Bearbeitung öffnen Um mehrere Elemente zur gleichzeitigen Bearbeitung öffnen zu können, müssen Sie eines der numerischen Klemmbretter im Liste-Modus aktiviert haben. Erst dann werden Ihnen die Kästchen angezeigt, über die Sie die zu bearbeitenden Elemente markieren können. Wenn die Elemente markiert sind, müssen Sie auf den kleinen Stift über den Kästchen klicken. TYPO3 öffnet alle markierten Elemente, die Sie jetzt bearbeiten können. Anschließend werden alle Änderungen in allen Elementen durch die bekannten Symbole zum Speichern übernommen.
Abbildung 2.54: Das numerische Klemmbrett muss aktiviert sein, bevor Mehrfachauswahlen getroffen werden können Auf diese Weise können auch Nicht-Seiteninhalte gleichzeitig zur Bearbeitung geöffnet werden. Dies funktioniert auch mit Seiten, Datensätzen und allen anderen im Liste-Modul angezeigten Inhalten. Auch Benutzer-Datensätze und Templates können so gleichzeitig zur Bearbeitung geöffnet werden.
84
Sandini Bib
2.3 Arbeiten mit Dateien
2.2.21
Seiten und Inhalte schnell über die ID öffnen
Im unteren Frame des Backend können Seiten-IDs eingegeben werden. Auf diese Weise lassen sich Seiten, deren ID bekannt ist, schnell aufrufen.
Abbildung 2.55: Seiten schnell über die ID aufrufen Seit der TYPO3-Version 3.8.0 lassen sich hierüber auch beliebige Datensätze zur Bearbeitung aufrufen. Dazu geben Sie einfach den Tabellennamen des Datensatzes an und durch einen Doppelpunkt getrennt die ID des gewünschten Datensatzes aus der Tabelle. Um ein Inhaltselement über diese Funktion schnell zu öffnen, würde ein Aufruf wie folgt aussehen: tt_content:99
Sie können auch Adressdatensätze oder Backend-Benutzer auf diese Weise zur Bearbeitung öffnen. tt_address:99 be_users:1
Die korrekte Schreibweise der Tabellennamen entnehmen Sie am einfachsten dem Systemtool phpMyAdmin.
2.3
Arbeiten mit Dateien
Beim Arbeiten mit Dateien geht es meist darum, Daten auf einen Webserver zu transferieren oder Daten auf einem solchen zu strukturieren. Damit sind Vorgänge wie Kopieren, Verschieben, Löschen, Up- und Download gemeint.
2.3.1
Dateien übertragen
Dateien können direkt über TYPO3 zum Webserver übertragen werden, ein FTP-Client ist dafür nicht notwendig. Zum Übertragen von Dateien wechseln Sie in den Dateiliste-Modus und bekommen dann eine Ordnerstruktur angezeigt. Diese Struk-
85
Sandini Bib
2 Arbeiten mit Inhalten
tur kann je nach Backend-Login unterschiedlich sein. Der Administrator kann verschiedene Dateifreigaben anlegen. Im extremsten Fall hat jeder Online-Redakteur seine eigene Dateifreigabe. Klicken Sie auf den Titel des Ordner, um sich dessen Inhalt anzeigen zu lassen. Wenn Sie auf das Ordner-Symbol klicken, öffnet sich das Kontextmenü. In diesem selektieren Sie den Punkt DATEI-UPLOAD. Im Hauptbereich des Backend können Sie dann über das Pulldown-Menü einstellen, wie viele Dateien Sie übertragen möchten. Bis zu zehn Dateien gleichzeitig sind möglich. Über die Schaltfläche DURCHSUCHEN können Sie dann die Datei auf Ihrem lokalen Computer selektieren, die übertragen werden soll.
Abbildung 2.56: Bis zu zehn Dateien können über das Dateiliste-Modul auf einmal übertragen werden Ist die Datei bereits auf dem Webserver vorhanden, und Sie möchten diese durch eine aktuellere Version überschreiben, müssen Sie das Häkchen ÜBERSCHREIBE EXISTIERENDE DATEIEN aktivieren. Ist das Häkchen nicht aktiv, benennt TYPO3 die Dateien um, die mit identischen Namen bereits vorliegen. Je nach Dateigröße und Internetverbindung kann die Übertragung etwas dauern.
2.3.2
Dateien löschen
Über das Kontextmenü der Dateien können Sie diese auch löschen. Dazu müssen Sie ins Dateiliste-Modul wechseln und in der Verzeichnisstruktur einen Ordner aufrufen. Im Hauptbereich können Sie dann das Kontextmenü der Datei aufrufen, indem Sie das Symbol der Datei anklicken. Wollen Sie mehrere Dateien im selben Verzeichnis löschen, erreichen Sie das Ziel mithilfe der numerischen Klemmbretter. Rufen Sie das Verzeichnis mit den zu löschenden Dateien über das Dateiliste-Modul auf und aktivieren Sie am Seitenende die Klemmbrett-Anzeige. Wenn Sie jetzt eines der numerischen Klemmbretter ausklappen, wer-
86
Sandini Bib
2.3 Arbeiten mit Dateien
den hinter jeder Datei kleine Kästchen angezeigt. Über diese Kästchen können Sie eine Mehrfachauswahl treffen. Über das Mülleimer-Symbol am Anfang der Liste über den Kästchen können Sie dann alle markierten Dateien gleichzeitig löschen.
Abbildung 2.57: Mehrere Dateien können über die numerischen Klemmbretter gelöscht werden Sie können auch komplette Verzeichnisse samt Inhalt löschen. Dazu benötigen Sie allerdings, wie bereits erwähnt, die Rechte zum rekursiven Löschen. Haben Sie diese Rechte nicht, muss der zu löschende Ordner vorher komplett geleert werden.
2.3.3
Dateien und Verzeichnisse umbenennen
Dateien und Verzeichnisse können über das jeweilige Kontextmenü umbenannt werden. Klicken Sie im Dateiliste-Modus auf das Icon des Verzeichnisses und selektieren Sie dann den Punkt UMBENENNEN. Dateien werden genauso umbenannt.
2.3.4
Dateien und Verzeichnisse verschieben oder kopieren
Ebenso können Sie Dateien und Verzeichnisse über das Kontextmenü des jeweiligen Objektes ausschneiden. Über das Kontextmenü des Zielordners können die Dateien und Verzeichnisse dann wieder eingefügt werden. Gleiches gilt auch für das Kopieren von Dateien und Verzeichnissen. Die zu kopierenden Inhalte dürfen dann allerdings nicht ausgeschnitten werden, sondern müssen kopiert werden.
87
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.58: Zuvor ausgeschnittene Dateien können über das Kontextmenü wieder in den Zielordner eingefügt werden Zum Kopieren von Verzeichnissen benötigen Sie spezielle Rechte. Verfügen Sie nicht über die entsprechenden Rechte, erhalten Sie eine Fehlermeldung beim Versuch, das Verzeichnis an beliebiger Stelle einzufügen. Die Rechte vergeben Sie, indem Sie die Einstellungen unter BENUTZER aufrufen. Im Bereich der erweiterten Funktionen können Sie das rekursive Löschen für Benutzer erlauben.
Abbildung 2.59: Dateien und Verzeichnisse können auch über das Klemmbrett kopiert und verschoben werden
88
Sandini Bib
2.4 Funktionalitäten
Um eine individuelle Auswahl zu kopieren oder zu verschieben, müssen Sie wieder eines der numerischen Klemmbretter verwenden. Rufen Sie dazu über das DateilisteModul das Verzeichnis mit den Quelldaten auf. Über KLEMMBRETT ANZEIGEN können Sie das Klemmbrett aktivieren, falls es noch nicht angezeigt wird. Jetzt müssen Sie eines der numerischen Klemmbretter ausklappen, sodass Sie die Kästchen hinter den Verzeichnissen und Dateien angezeigt bekommen. Treffen Sie Ihre Auswahl der zu kopierenden oder zu verschiebenden Dateien und Verzeichnisse. Über das kleine Icon am Anfang der Liste können Sie die Auswahl auf das Klemmbrett transferieren. Im Klemmbrett können Sie jetzt umschalten, ob die Objekte verschoben oder kopiert werden sollen. Werden die Objekte kopiert, wird das Symbol orange hinterlegt. Jetzt können Sie den Zielordner aufrufen und auf das EINFÜGEN-Symbol klicken, oder direkt über das Kontextmenü des Zielordners die Objekte einfügen.
2.4
Funktionalitäten
Außer den vielen Möglichkeiten Content, Seiten und Verzeichnisse zu bearbeiten, gibt es weitere interessante Hilfsmittel für die tägliche Arbeit mit Seiten und Inhalten. Diese wollen wir Ihnen im folgenden Abschnitt vorstellen.
2.4.1
Zeitsteuerung von Seiten und Inhalten
Die Zeitsteuerung ist eine der großen Stärken von TYPO3. Seiten und alle Inhaltselemente können durch Angabe einer Start- und Stoppzeit gesteuert werden. Das heißt, Sie legen einmal fest, in welchem Zeitfenster die Seite oder der Inhalt angezeigt werden soll. TYPO3 passt dynamisch und voll automatisch die Inhalte und Navigationsstrukturen entsprechend an. Die Steuerzeiten können jeweils am Seitenende in den ALLGEMEINEN OPTIONEN angegeben werden. Hier können Sie auch die Schnelleingabe verwenden, indem Sie +1 für das morgige Datum verwenden, oder +7 für das Datum in einer Woche. Als Zeit wird die aktuelle Zeit zum Zeitpunkt der Eingabe verwendet. Angezeigt wird aber nur das Datum.
Abbildung 2.60: Die Zeitsteuerung wird unter den Erweiterten Optionen der Seiten und Inhaltselemente vorgenommen
89
Sandini Bib
2 Arbeiten mit Inhalten
Die zeitgesteuerten Seiten werden im Seitenbaum mit gesondertem Icon angezeigt.
Abbildung 2.61: Dieses Icon bezeichnet Seiten, bei denen ein Stopp-Datum gesetzt ist, die aber zurzeit noch angezeigt werden
Abbildung 2.62: Dieses Icon bezeichnet Seiten, bei denen ein Start-Datum gesetzt ist, das noch in der Zukunft liegt, die Seite also noch nicht angezeigt wird Für Inhaltselemente gibt es ähnliche Icons. Das kleine Uhr-Symbol in den Icons symbolisiert, dass die Elemente Zeit gesteuert sind. Gelbe Symbole bedeuten, dass das Element im Frontend angezeigt wird. Graue Symbole bedeuten, dass das Element noch nicht im Frontend angezeigt wird.
2.4.2
Seitencache löschen
Wenn Sie den Cache einer einzelnen Seite löschen möchten, können Sie dies über das Liste-Modul machen. Rufen Sie das Liste-Modul auf und selektieren die gewünschte Seite im Seitenbaum. Über den Seiteninhalten finden Sie eine erste Leiste mit Schaltflächen. Über die Schaltfläche mit dem C-Symbol können Sie den Cache der aufgerufenen Seite löschen.
Abbildung 2.63: Den Cache einer einzelnen Seite löschen
2.4.3
Suchen und Finden im Backend
Sie können im Liste- und Seite-Modul die aufgerufene Seite durchsuchen, indem Sie den Suchbegriff am Seitenende eingeben und die Suche starten. Wenn Sie zusätzlich die Unterseiten durchsuchen möchten, können Sie die Ebene im Pulldown-Menü angeben, bis zu welcher die Seiten durchsucht werden sollen.
Abbildung 2.64: Die Suche im Backend wird im Anschluss der Inhaltselemente im Liste- und Seite-Modul angezeigt
90
Sandini Bib
2.4 Funktionalitäten
TYPO3 zeigt dann im Liste-Modul die Seiten und Inhaltselemente an, die den Suchbegriff beinhalten. Im Seite-Modul bekommen Sie nur die Inhaltselemente angezeigt, dafür aber mit einer aussagekräftigeren Vorschau. Wenn Sie eine globalere Suche nicht nur über Seiten und Inhalte ausführen möchten, können Sie das Tool DB Überprüfung verwenden. Dieses Tool durchsucht alle Tabellen, die im TCA Array definiert sind. Rufen Sie dazu im Pulldown-Menü den Punkt FULL SEARCH auf. Im zweiten Pulldown-Menü muss RAW SEARCHE IN ALL FIELDS eingestellt sein. Unter SEARCH OPTIONS können Sie dann den zu suchenden Begriff eingeben.
Abbildung 2.65: Über das Tool DB Überprüfen lassen sich auch Websitebenutzer finden
2.4.4
Seitenalias setzen
Ein Seitenalias wird anstelle der Seiten-ID verwendet, wenn TYPO3 Links generiert. Ein normaler Seitenaufruf in TYPO3 sieht wie folgt aus: http://www.meineDomain.de/index.php?id=99&type=0
Oder bei Aktivierung der Simulation suchmaschinenfreundlicher URLs: http://www.maineDomain.de/seitentitel.99.0.html
Wenn Sie nun einen Alias angeben, wird die in unserem Beispiel verwendete SeitenID 99 gegen den Alias ausgetauscht. Da sich Seiten auch über die jeweilige Seiten-ID allein aufrufen lassen, kann dann eine Seite auch über den Alias allein aufgerufen werden. So können dann Seiten auch wie folgt aufgerufen werden: http://www.meineDomain.de/index.php?id=alias
91
Sandini Bib
2 Arbeiten mit Inhalten
Oder bei Simulation suchmaschinenfreundlicher URLs: http://www.meineDomain.de/alias.html
Auf diese Weise lassen sich einprägsamere HTTP-Adressen generieren. Um einen solchen Alias setzen zu können, müssen Sie den Seiten-Header zur Bearbeitung öffnen. In der zweiten Optionspalette finden Sie das Feld für den Alias. Wenn die zweite Optionspalette nicht aktiviert ist, können Sie das ALIAS-Feld auch über die weiteren Optionen des Seitentitels aufrufen. In das ALIAS-Feld tragen Sie einen beliebigen Aliasnamen ein, der aber in der aktuellen TYPO3-Struktur originär sein muss. Jeder Alias kann nur einmal in einer Site verwendet werden.
Abbildung 2.66: Den Alias können Sie über die zweite Optionspalette des Seitentitels eingeben
2.4.5
Häufig wiederkehrende Inhalte bearbeiten
Häufig bearbeitete Seiteninhalte werden im Dok. Modul bzw. ab Version 3.8.0 im Dokumente-Modul angezeigt. Sollten Sie noch ein Inhaltselement zur Bearbeitung geöffnet haben, wird dieses sofort aufgerufen, wenn Sie in das Dokumente-Modul wechseln. Schließen Sie dann das Element einfach, und Sie erhalten eine Liste der zuletzt bearbeiteten Inhaltselemente mit Datum und Zeit der letzten Änderung. Klicken Sie auf das gewünschte Dokument, um es zur Bearbeitung zu öffnen. Wenn Sie das Dokument anschließend wieder schließen oder speichern und schließen, kommen Sie wieder zurück zur Liste. Die zuletzt bearbeiteten Seiten können Sie über das Aufgaben-Modul aufrufen. Im Aufgaben-Modul klappen Sie die Rubrik LETZTE SEITEN auf. Klicken Sie einfach auf die gewünschte Seite, die dann in der Spalten-Ansicht oder der Schnelleingabe geöffnet wird. Sie können aber auch die zuletzt bearbeiteten Datensätze über das Aufgaben-Modul öffnen. Da sich seit Version 3.8.0 die Darstellung der Datensätze geändert hat, empfiehlt es sich, die Datensätze statt über das Dokumente-Modul über das AufgabenModul aufzurufen.
92
Sandini Bib
2.4 Funktionalitäten
Abbildung 2.67: Über das Dokumente-Modul können Sie die zuletzt geänderten Inhaltselemente aufrufen
Abbildung 2.68: In den Aufgaben findet jeder Benutzer seine zuletzt bearbeiteten Seiten und kann auch die zuletzt bearbeiteten Datensätze aufrufen
93
Sandini Bib
2 Arbeiten mit Inhalten
2.4.6
Notizen anlegen
Jeder Backend-Benutzer kann über das Aufgaben-Modul eine persönliche Notiz anlegen. Diese Notiz ist nur für den jeweiligen Benutzer einsichtig und kann jederzeit über das Aufgaben-Modul bearbeitet und aufgerufen werden.
Abbildung 2.69: Das digitale TYPO3 Post-it
2.4.7
CSV-Listen exportieren
Um Datensätze in eine CSV-Datei zu exportieren, müssen Sie zunächst in das ListeModul wechseln. Klicken Sie dann auf den Datensatz TYP, den Sie exportieren möchten, um die ERWEITERTE ANSICHT aufzurufen. In der erweiterten Ansicht können Sie dann die Felder selektieren, die Sie exportieren möchten. Für eine Mehrfachauswahl halten Sie die (Strg)-Taste gedrückt und selektieren die einzelnen Felder. Nachdem Sie die Felder gesetzt haben, wird die Liste mit den entsprechenden Feldern neu generiert. Oben rechts finden Sie die Schaltfläche zum Speichern der CSVDatei. Die exportierte CSV-Datei lässt sich dann in andere Programme wie zum Beispiel in die Tabellenkalkulation Excel importieren, wo sie dann weiterverarbeitet werden kann. TYPO3 zeigt standardmäßig einhundert Datensätze im Liste Modul an. Die CSV-Funktion erfasst auch nur genau diese angezeigten Datensätze. Sollen mehrere Datensätze exportiert werden, müssen Sie am Seitenende über den Wert hinter DATENSÄTZE ANZEIGEN die gewünschte Anzahl von Datensätzen einstellen.
2.4.8
Vorschau von Seiten und Inhalten
Backend-Benutzer können Seiten und Inhalte, die noch nicht freigeschaltet sind, im Frontend in einer Voransicht öffnen. Die einfachste Variante ist der Aufruf der versteckten Seite aus dem Backend.
94
Sandini Bib
2.4 Funktionalitäten
Abbildung 2.70: Datensätze können aus dem Liste-Modul exportiert werden, wobei die zu exportierenden Felder individuell gesetzt werden können
Abbildung 2.71: Versteckte Seiten werden mit dem rot hinterlegten PREVIEW-Hinweis im Frontend gekennzeichnet Wenn Sie versteckte Inhaltselemente oder Datensätze in der Vorschau angezeigt bekommen möchten, müssen Sie dies über das Admin Panel aktivieren. Das Admin Panel wird im Frontend unter der eigentlichen Seite angezeigt. Sei müssen zunächst das Admin Panel und dann die Vorschau aufklappen. Dort können Sie dann die Anzeige versteckter Datensätze aktivieren.
95
Sandini Bib
2 Arbeiten mit Inhalten
Abbildung 2.72: Versteckte Inhalte können über das Admin Panel in der Vorschau aktiviert werden Wenn Sie zeitgesteuerte Seiten oder Inhalte verwenden, können Sie beliebige Zeitpunkte über das Admin Panel simulieren und so die Auswirkungen der Zeitsteuerung überprüfen. Im Admin Panel können Sie auch die Schnelleingabe verwenden und z.B. mit +7 die aktuelle Zeit der nächsten Woche simulieren. TYPO3 berechnet automatisch das Datum und trägt die aktuelle Zeit ein. Damit die Eingabe wirksam wird, müssen Sie die Änderung einmal aktualisieren und schon bekommen Sie die Website angezeigt, wie sie in der nächsten Woche aussehen würde.
Abbildung 2.73: Durch die Simulation vom Zeitpunkt über das Admin Panel können zeitgesteuerte Seiten und Inhalte begutachtet werden Wenn Sie zugriffsbeschränkte Seiten angelegt haben, kann selbst der Admin diese Seite nicht unmittelbar aufrufen. Um Backend-Benutzern dies dennoch zu gewähren, können diese über das Admin Panel Benutzergruppen simulieren. Alle angelegten Website-Benutzergruppen stehen im Pulldown-Menü dem Backend-Benutzer zur Verfügung. Sobald eine Benutzergruppe ausgewählt ist, verhält sich die Website wie bei einem Benutzer, der sich auf der Website angemeldet hat.
96
Sandini Bib
3
Administrationsoberflächen konfigurieren
3.1
Benutzer in TYPO3
3.1.1
Benutzer und Benutzergruppen erzeugen
Backend-Benutzer und Benutzergruppen können Sie nur auf der Root-Seite des Seitenbaums über das Kontextmenü der Root-Seite als neue Datensätze anlegen. Im Hauptbereich erhalten Sie dann eine Übersicht aller Datensätze, die angelegt werden können. Diese Liste variiert stark in Abhängigkeit der von Ihnen installierten Extensions.
Abbildung 3.1: werden
Backend-Benutzer und Gruppen können nur auf der Root-Seite angelegt
Alternativ können Sie im Liste-Modul neue Benutzer und Benutzergruppen anlegen. Aber auch hier gilt, dass Benutzer und Benutzergruppen nur auf der Root-Seite angelegt werden können.
Sandini Bib
3 Administrationsoberflächen konfigurieren
Wenn Sie den Datensatz-Benutzer ausgewählt haben, erscheint das Formular für die Backend-Benutzer. Hier müssen Sie einen Usernamen und ein Passwort vergeben. Auf dem gleichen Weg legen Sie auch neue Benutzergruppen an, denen dann einzelne Benutzer zugewiesen werden können. Über die Benutzergruppen werden später die Rechte zur Verwaltung der Website gesetzt.
3.1.2
Zugriff auf Module freigeben
Um Module in den Benutzergruppen freigeben zu können, müssen Sie zuerst das Häkchen bei INCLUDE ACCESS LISTS setzen. Die Module in TYPO3, die Sie den Benutzern zur Verfügung stellen können, sind in vier Gruppen geordnet. Die Modulgruppe TOOLS steht nur den Administratoren zur Verfügung, die Gruppe HILFE wird allen Backend-Benutzern angezeigt. Die Module der Gruppe WEB ermöglicht Benutzern den Zugriff auf Seiten und Seiteninhalte über die Baumstruktur. Über die Gruppe DATEI können Sie den Benutzern Zugriff auf das Dateisystem auf dem Webserver einräumen. DOKUMENTE zeigt nur die zuletzt bearbeiteten Datensätze an. Über die Gruppe BENUTZER gelangen die Backend-Benutzer zu ihren Aufgaben und damit zum Taskcenter. Hier können Sie Ihre eigenen Einstellungen anpassen. Um im TYPO3-Backend arbeiten zu können, sollten wenigstens die Module SEITE, ANZEIGEN und LISTE aus der Gruppe WEB freigegeben werden. Wenn die Benutzer Zugriff auf das Dateisystem benötigen, sollten alle Module in der Gruppe DATEI freigegeben werden. Alle anderen Module sind für die Arbeit im VMS nicht zwingend notwendig, können aber sehr hilfreich sein.
Abbildung 3.2: Je nach Anforderung können auch weniger Module freigegeben werden
98
Sandini Bib
3.1 Benutzer in TYPO3
3.1.3
Benutzern Zugang zum Dateisystem erlauben
Um Backend-Benutzern Zugriff zum Dateisystem auf dem Webserver einzuräumen, müssen die Benutzer zuerst Zugriff auf das Dateiliste-Modul haben. Diese Rechte setzen Sie über die Benutzergruppe, die dem Benutzer zugewiesen ist.
Abbildung 3.3: Ohne Zugriff auf das Dateiliste-Modul können die Benutzer auch nicht auf das Dateisystem zugreifen Jetzt steht dem Benutzer das Modul zum Zugriff auf das Dateisystem im Backend zur Verfügung, aber es werden noch keine Ordner angezeigt. Das liegt daran, dass noch keine Dateifreigabe zugewiesen wurde. Legen Sie dazu auf der Root-Seite einen neuen Datensatz vom Typ Dateifreigabe an. Vergeben Sie einen Namen und geben Sie den Pfad des Ordners auf dem Server an, der freigegeben werden soll. Liegt der Ordner innerhalb des Ordners fileadmin des TYPO3-Projektes, verwenden Sie als BASE RELATIV und geben ausgehend vom Verzeichnis fileadmin den komplette Pfad an. Das Verzeichnis user_upload existiert in den meisten Fällen bereits im Verzeichnis fileadmin. In diesem Beispiel haben wir noch ein Unterverzeichnis angelegt, das über die Dateifreigabe dem Benutzer zugewiesen werden soll.
Abbildung 3.4: Verwenden Sie die relative Dateifreigabe und geben den Pfad zum gewünschten Verzeichnis an
99
Sandini Bib
3 Administrationsoberflächen konfigurieren
Diese Dateifreigabe müssen Sie jetzt noch dem jeweiligen Benutzer selber oder besser der Benutzergruppe, der der Benutzer angehört, zuweisen. Besonders wenn mehrere Benutzer verwaltet werden sollen, erleichtert die strukturierte Zuweisung der Dateifreigaben über Benutzergruppen die Arbeit beim Verwalten der Backend-Benutzer in TYPO3. Sollen die Dateifreigaben über die Benutzergruppen zugewiesen werden, muss das Mounten von Dateifreigaben beim Benutzer aktiviert sein.
3.1.4
Seiteneinstiegspunkt setzen
Jedem Backend-Benutzer müssen ein oder mehrere Einstiegspunkte zugewiesen werden. Der Benutzer kann dann, wenn die entsprechenden Seitenzugriffsrechte vergeben sind, auf die Seite als Einstiegspunkt und alle Unterseiten zugreifen. Die Einstiegspunkte können für jeden Benutzer separat gesetzt werden, besser arbeiten Sie aber über die Benutzergruppen. Der Benutzer bekommt dann in der Baumstruktur für jeden Einstiegspunkt eine Seite angezeigt, die ausgeklappt werden kann, sofern Unterseiten vorhanden sind. Ein solcher Einstiegspunkt wird Datenbank Mount oder kurz DB Mount genannt. Wenn Sie die DB Mounts über die Gruppen zuweisen möchten, dann muss das Erben von Mounts bei den Benutzern aktiviert sein, was zu empfehlen ist. Besonders wenn mehrere Benutzer verwaltet werden sollen, erleichtert das die Arbeit beim Verwalten der Backend-Benutzer.
Abbildung 3.5: Sie können einen oder mehrere DB Mounts zuweisen Damit der Benutzer die Seiten jetzt auch im Backend angezeigt bekommt bzw. dies auch bearbeiten kann, müssen Sie über das Zugriff-Modul entsprechende Rechte für die Benutzergruppe des Benutzers setzen. Der Benutzer benötigt ebenfalls eines der Web-Module, um den Seitenbaum aufrufen zu können. Sind alle Rechte und Module über die Benutzergruppe korrekt gesetzt, werden dem Benutzer die einzelnen DB Mounts als separate Seitenbäume im Backend angezeigt.
3.1.5
Seitenrechte setzen
Rechte an Seiten werden über das Zugriff-Modul gesetzt. Wenn Sie sich im ZugriffModul befinden, können Sie im Seitenbaum eine Seite selektieren, deren Rechte Sie anpassen möchten. Im Hauptbereich werden dann die selektierten Seiten und die Unterseiten in der Benutzer-Übersichts-Ansicht angezeigt. Klicken Sie in der Übersicht auf eines der Stift-Symbole, um die Rechte der entsprechenden Seite anzupassen.
100
Sandini Bib
3.1 Benutzer in TYPO3
Abbildung 3.6: Eines der Web-Module muss zugewiesen werden, damit der Benutzer die Seitenstruktur aufrufen kann
Abbildung 3.7: Wenn alle Rechte gesetzt sind, werden die DB Mounts als separate Seitenbäume angezeigt In der Rechte-Bearbeiten-Ansicht können Sie dann detailliert die Rechte für die Seite anpassen. Sie können einen Besitzer und eine Gruppe benennen, für die dann individuelle Rechte gesetzt werden. Als drittes gibt es noch die fest vorgegebene Gruppe ALLE, der maximal das Recht zum Zeigen von Seiten zugewiesen werden sollte. Unter der Rechte-Tabelle können Sie die vorgenommenen Einstellungen auch auf Unterseiten anwenden.
101
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.8: Rechte können individuell für den Besitzer einer Seite, für eine beliebige Benutzergruppe und für alle Backend-Benutzer gesetzt werden Um sich eine Übersicht über die Rechte einer Seiten zu verschaffen, können Sie die Ansicht im Zugriff-Modul auf RECHTE umschalten. Sie erhalten dann eine Auflistung der selektierten Seiten und deren Unterseiten mit den Rechten für den Besitzer, der Benutzergruppe und aller Backend-Benutzer sowie den Namen des Besitzers und der Benutzergruppe. Über TIEFE können Sie einstellen, über wie viele Ebenen diese Übersicht erweitert werden soll.
Abbildung 3.9: Verschaffen Sie sich eine Übersicht über die Rechtevergabe Ihrer Seiten mit der Rechte-Ansicht im Zugriff-Modul
102
Sandini Bib
3.1 Benutzer in TYPO3
3.1.6
Bearbeitungsrechte für Benutzer setzen
Backend-Benutzern müssen Rechte auf die einzelnen Felder der Datensätze und Inhaltstypen eingeräumt werden. Diese Rechte müssen Sie über eine Benutzergruppe zuweisen. Als Erstes müssen Sie Ihren Benutzern die Tabellen zuweisen, die verändert werden dürfen. Setzen Sie dazu unter TABELS (MODIFY) die Tabellen, die die Benutzergruppe modifizieren darf. Eine gängige Einstellung ist, dass Sie SEITE und SEITENINHALT zuweisen. Um eine Mehrfachauswahl zu treffen, halten Sie die (Strg)-Taste gedrückt, während Sie Ihre Auswahl tätigen.
Abbildung 3.10: Damit Backend-Benutzer die Inhalte der Seiten bearbeiten können, müssen Seiten und Seiteninhalte zum Modifizieren über die Benutzergruppe freigegeben werden Sollen die Benutzer neue Seiten anlegen können, dann muss außerdem mindestens ein Seitentyp zugewiesen werden, den die Benutzer setzen dürfen. Dies geben Sie im folgenden Feld unter PAGE TYPES an.
Abbildung 3.11: Sie sehen eine gängige Einstellung für die Zuweisung der Seitentypen
103
Sandini Bib
3 Administrationsoberflächen konfigurieren
Zu guter Letzt müssen Sie jetzt noch die einzelnen Felder der zuvor freigegebenen Tabellen setzen. Wenn Sie keine weiteren Felder freigeben, dürfen die Benutzer zwar die Inhalte anlegen, es stehen aber nur die wichtigsten Felder zur Verfügung. Bei den Seiten sind das nur der Seitentitel und der Alias. Auch bei den Seiteninhalten stehen nur, je nach Inhaltselement die wichtigsten Felder zur Verfügung. Wenn die Benutzer zum Beispiel die Zeitsteuerung nutzen sollen, dann müssen diese Felder im Bereich ALLOWED EXCLUDEFIELDS freigegeben werden.
Abbildung 3.12: Viele Felder müssen den Benutzern erst noch gesondert freigeschaltet werden
104
Sandini Bib
3.2 Allgemeine Einstellungen
Hinweis Sie sollten den Benutzern nur die wirklich benötigten Felder freischalten, um die Eingabemasken so übersichtlich wie möglich zu halten.
3.2
Allgemeine Einstellungen
3.2.1
Bildunterschriften für jedes Bild
Bildern können Bildunterschriften zugewiesen werden. Wenn Sie jetzt in einem Inhaltselement mehrere Bilder zugewiesen haben, können Sie für jedes Bild eine separate Bildunterschrift angeben. Trennen Sie die einzelnen Bildunterschriften durch Zeilenumbrüche. Wenn Sie sich jetzt die Seite anzeigen lassen, werden in der Regel die Bildunterschriften nicht unter den einzelnen Bildern zugewiesen. Um die Bildunterschriften jeweils unter dem Bild anzeigen zu lassen, muss die Funktion captionSplit aktiviert werden.
Abbildung 3.13: Links die Bilder ohne captionSplit und rechts mit, dadurch sind die Bildunterschriften den einzelnen Bildern zugeordnet Sie können das Caption Splitting aktivieren, indem Sie folgendes TypoScript in das CONSTANTS-Feld Ihres Templates schreiben: styles.content.imgtext.captionSplit = 1
105
Sandini Bib
3 Administrationsoberflächen konfigurieren
Sie können den Wert aber auch über den TypoScript Object Browser im TemplateModul setzen. Wechsel Sie dazu in das Template-Modul und rufen im Menü oben rechts den TypoScript Object Browser auf. Hier wählen Sie im Menü BROWSE CONSTANTS aus. Im OBJECT TREE müssen Sie jetzt STYLES ausklappen, dann CONTENT und danach noch IMGTEXT. Im Objekt IMGTEXT klicken Sie auf CAPTIONSPLIT. Unter EDIT OBJECT/ PROPERTY VALUE können Sie nun das Caption Splitting aktivieren, indem Sie eine 1 eintragen. Anschließend müssen Sie die Änderung durch einen Klick auf UPDATE aktualisieren.
Abbildung 3.14: Der TypoScript Object Browser schreibt das Objekt mit korrektem Pfad in das Constants-Feld Ihres Templates – so vermeiden Sie Tippfehler
106
Sandini Bib
3.2 Allgemeine Einstellungen
3.2.2
Erstellen individueller Links für Bilder
Bilder in den Inhaltselementen BILD und TEXT MIT BILD können über das Feld VERWEIS in der zweiten Optionspalette verlinkt werden. Wenn Sie mehrere Bilder über ein Inhaltselement eingefügt haben, werden alle Bilder mit einem identischen Ziel verknüpft. Um nun einen separaten Link für jedes Bild setzen zu können, muss der Wert der Eigenschaft comment_CSL-LinkList verändert werden. Sie können direkt in das CONSTANTS-Feld Ihres Templates folgendes TypoScript schreiben: styles.content.imgtext.comment_CSL-LinkList =
Besser ist es aber, den Wert über den TypoScript Object Browser im Template-Modul zu setzen. Verfahren Sie dabei wie bereits im Tipp Bildunterschriften für jedes Bild beschrieben. Die Eigenschaft findet Sie auch im Objekt styles.content.imagetext. Klicken Sie in dem Objekt auf die Eigenschaft COMMENT_CSL-LINKLIST und entfernen Sie die Raute im VALUE-Feld.
Abbildung 3.15: Bei der Eigenschaft comment_CSL-LinkList darf kein Wert eingetragen sein Wenn das Template angepasst wurde, können Sie jedem Bild einen eigenen Link zuweisen. Die Links werden durch Kommata getrennt. Das erste Bild wird mit dem ersten Link verknüpft und so weiter. Für externe Links geben Sie die komplette URL an. Interne Verweise können Sie setzen, indem Sie einfach die UID der Zielseite angeben, oder Sie geben eine E-Mail-Adresse an. TYPO3 erkennt die unterschiedlichen Verknüpfungen und generiert die korrekten Links.
107
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.16: Sie können Seiten-IDs angeben für interne Verknüpfungen, für komplette URLs und auch für E-Mail-Adressen
3.2.3
Neu erstellte Seiten automatisch definieren
Wenn Sie neue Seiten anlegen, werden diese mit einigen Default-Werten angelegt. So wird die Seite standardmäßig immer als versteckt und vom Typ Standard angelegt. Wenn Sie diese Vorgaben modifizieren möchten, können Sie dies über das TSCONFIGFeld der Backend-Benutzer oder Benutzergruppen realisieren. Dazu müssen Sie zunächst wissen, wie die Felder in der Datenbank benannt sind, deren Vorgabewerte Sie ändern möchten. Das erfahren Sie am einfachsten, wenn Sie den phpMyAdmin über das TYPO3-Backend aufrufen und die Tabelle pages selektieren. Feldbezeichnungen in der Tabelle pages
Auswirkungen
Doktype
Legt den Seitentypen fest 1 = Standard 2 = Erweitert 3 = Externe URL 4 = Shortcut 5 = Nicht im Menü 6 = Backend-Benutzer Bereich 7 = Mount Seite 199 = Abstand 254 = SysOrdner 255 = Papierkorb
Hidden
Versteckt Seiten 1 = versteckt 0 = sichtbar
no_cache
Caching Verhalten der Seite 1 = Seiten werden gecached 0 = Seiten werden bei jedem Aufruf neu aus der Datenbank generiert
Tabelle 3.1: Einige interessante Datenbankfelder aus der Tabelle pages
108
Sandini Bib
3.2 Allgemeine Einstellungen
Feldbezeichnungen in der Tabelle pages
Auswirkungen
fe_group
FE-Benutzergruppe mit der angegebenen ID wird bei Zugriff unter den ALLGEMEINEN OPTIONEN eingetragen.
Target
Das Ziel der Seite kann besonders interessant sein, bei Seiten mit Frames.
cache_timeout
Zeit in Sekunden nach der der Cache verfällt
no_search
Schließt Seite von der Suche aus no_searche = 1 Seite wird nicht von der Suche berücksichtigt no_searche = 0 Seite wird von der Suche berücksichtigt
Author
Name des Autors
author_email
E-Mail des Autors
nav_hide
Versteckt Seite im Menü nav_hide = 1 Seite ist versteckt Nav_hide = 0 Seite wird im Menü angezeigt
Tabelle 3.1: Einige interessante Datenbankfelder aus der Tabelle pages (Forts.) Über das TSCONFIG-Feld können Sie nun alle Vorgabewerte modifizieren. Über das Objekt TCAdefaults gefolgt von der Tabelle, also pages, und dem Tabellenfeld, können Sie die Vorgabewerte beliebig anpassen. TCAdefaults.pages { doktype = 2 hidden = 0 fe_group = 1 author = Maik Caro }
Angaben zum Autor sollten natürlich immer im TSCONFIG-Feld des Backend-Benutzers stehen. Alle anderen Angaben können auch über Benutzergruppen zugewiesen werden. In unserem Beispiel würden jetzt alle neuen Seiten mit dem Typ ERWEITERT, NICHT ZUGRIFFS BESCHRÄNKT für die FE Benutzergruppe mit der ID=1 erstellt und als Autor ist Maik Caro voreingetragen.
VERSTECKT,
Auf diese Weise können Sie auch Vorgaben machen, die der Backend-Benutzer nicht unmittelbar sieht. So könnten Sie zum Beispiel Vorgaben erzeugen, die nur bei Seiten vom Typ ERWEITERT angezeigt werden, obwohl eine Seite vom Typ STANDARD angelegt wird.
109
Sandini Bib
3 Administrationsoberflächen konfigurieren
3.2.4
Die Toolbar vom RTE modifizieren
Die Toolbar im RTE (Rich Text Editor) ist die Leiste mit den Bearbeitungswerkzeugen. Jedes diese Bearbeitungswerkzeuge kann separat für jedes Eingabefeld mit einem Rich Text Editor eingestellt werden.
Abbildung 3.17: Die Werkzeugleiste des Rich Text Editors erweitert mit den in der Tabelle beschriebenen Werkzeugen Diese Einstellung müssen Sie über das TSCONFIG-Feld einer Seite vornehmen. Sie können die Vorgaben um einzelne Icons erweitern oder auch Icons entfernen. Die entsprechenden Eigenschaften lauten SHOWBUTTONS und HIDEBUTTONS. Die Zuweisung erfolgt über RTE.config.[table].[field].Eigenschaft, wobei [table] die Datenbank-Tabelle ist und [field] das Feld der Tabelle. Das folgende Beispiel ergänzt den Rich Text Editor im Text-Feld der Seiteninhaltselemente um das Tabellen-Icon. RTE.config.tt_content.bodytext.showButtons = table
Das folgende TypoScript deaktiviert das Tabellen-Icon im Text-Feld der News: RTE.config.tt_news.bodytext.hideButtons = table
Diese Einstellungen des Rich Text Editors werden über das TSconfig der Seiten vorgenommen. Somit können Sie für Seiten oder Seitenzweige auch unterschiedliche Konfigurationen der Rich Text Editor-Toolbar einstellen. Code
Beschreibung
cut
Ausschneiden
copy
Kopieren
paste
Einfügen
formatblock
Absatzart
class
Zeichenart
fontstyle
Schriftart
fontsize
Schriftgröße
Icon
Tabelle 3.2: Die Icons, die im Rich Text Editor zur Verfügung stehen
110
Sandini Bib
3.2 Allgemeine Einstellungen
Code
Beschreibung
textcolor
Schriftfarbe
bold
Fett
italic
Kursiv
underline
Unterstrichen
left
Linksbündig
center
Zentriert
right
Rechtsbündig
orderedlist
Nummerierung
unorderedlist
Aufzählungszeichen
outdent
Einzug verkleinern
indent
Einzug vergrößern
link
Link einfügen
table
Tabelle einfügen
bgcolor
Hintergrundfarbe
image
Bild einfügen
emoticon
Symbol einfügen
line
Linie einfügen
user
Füge Benutzerelemente ein
Icon
Tabelle 3.2: Die Icons, die im Rich Text Editor zur Verfügung stehen (Forts.)
3.2.5
Login-Interfaces
Das Backend-Login ruft nach erfolgreichem Anmelden das Backend-Interface auf. Benutzer, die aber überwiegend im Frontend arbeiten, müssen um dorthin zu gelangen erst eine Seite aufrufen.
111
Sandini Bib
3 Administrationsoberflächen konfigurieren
Im Install Tool ist es möglich, neben dem Backend-Interface auch das Frontend-Interface beim Login anzubieten, wohin der Benutzer nach dem Login weitergeleitet wird. Der Benutzer erhält dann beim Aufruf des Login ein Pulldown-Menü, in dem er das Interface selektieren kann.
Abbildung 3.18: Das Login, erweitert um das Frontend-Interface Um diese Auswahl zu aktivieren, müssen Sie das Tool Installation im Backend aufrufen. Im Install Tool rufen Sie dann den Punkt vier ALL CONFIGURATION auf. Im Abschnitt BACKEND CONFIGURATION (BE:) befindet sich die Eigenschaft [interfaces]. Geben Sie die gewünschten Interfaces an. Das erstgenannte ist das Standard-Interface. Sie können auch nur das Frontend-Interface eingeben, dann werden alle Backend-Benutzer immer nach dem Login auf das Frontend weitergeleitet.
Abbildung 3.19: Um das Auswahlmenü beim Login zu aktivieren, müssen beide Interfaces angegeben werden
3.2.6
Session-Timeout heraufsetzen
Ist ein Benutzer im Backend angemeldet, verfällt dessen Session nach einer Stunde. Das hat zur Folge, dass Sie und alle anderen TYPO3-Backend-Benutzer sich jede Stunde neu anmelden müssen. Um Benutzern das ständige Neuanmelden zu ersparen, können Sie die Verfallszeit der Session im Installation-Modul heraufsetzen.
112
Sandini Bib
3.3 Arbeiten im Backend
Wechseln Sie dazu in das Modul Installation und rufen dann den Punkt vier ALL CONFIGURATION auf. Etwa in der Seitenmitte unter $TYPO3_CONF_VARS["BE"] finden Sie die Variable [sessionTimeout]. Geben Sie hier eine Zeit in Sekunden an, nach der die Session verfallen soll.
Abbildung 3.20: Die Backend-Benutzer Session verfällt standardmäßig nach einer Stunde, diese Zeitspanne kann im Install Tool angepasst werden
3.3
Arbeiten im Backend
3.3.1
Die Navigationsframes im Backend anpassbar machen
Wenn Sie lange Seitentitel benutzen, reicht der Navigationsframe oft nicht aus, um diese langen Seitentitel darzustellen. Der Navigationsframe ist normalerweise 245 Pixel breit. Bei Inhalten, die breiter sind, erscheint dann ein Scrollbalken. Mit einer kleinen Zeile TypoScript können Sie den Frame anpassbar machen. Dieses TypoScript müssen Sie in das TSCONFIG-Feld eines Backend-Benutzers oder in eine Seiten Benutzergruppen schreiben. setup.override.navFrameResizable = 1
Eine weitere interessante Eigenschaft in diesem Zusammenhang ist die Eigenschaft navFrameWidth. Wie bereits erwähnt, ist die Breite des Frames mit 245 Pixeln vorgegeben. Mit dieser Eigenschaft können Sie die Breite auf einen beliebigen Wert einstellen. setup.override.navFrameWidth = 180
3.3.2
Shortcut-Frame aktivieren für Backend-Benutzer
Am Ende jeder Seite im Backend wird das Icon zum Erzeugen eines Verweises auf diese Seite angezeigt. Die Verweise werden in einem separaten Frame am unteren Rand des Backend angezeigt. Verfügt der Backend-Benutzer nicht über ausreichend Rechte, werden weder das Icon noch der Frame zum Verwalten der Verweise angezeigt. Um den Backend-Benutzern die notwendigen Rechte einzuräumen, müssen Sie den shortcutFrame über das Objekt options aktivieren.
113
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.21: Lassen Sie die Backend-Benutzer selber bestimmen, wie breit der Navigationsframe sein soll
Abbildung 3.22: Das Shortcut-Icon befindet sich am Ende jeder Seite im Backend Dazu rufen Sie einen Backend-Benutzer oder eine seiner Benutzergruppen auf und fügen das folgende TypoScript in das TSCONFIG-Feld ein: options.shortcutFrame = 1
Jetzt wird dem Benutzer den Frame angezeigt, in dem die Verweise verwaltet werden können, und das Icon zum Erzeugen der Verweise wird am Ende jeder Seite im Backend sichtbar.
Abbildung 3.23: Der Shortcut-Frame mit einem Verweis
3.3.3
Shortcuts zum Bearbeiten von Inhalten
Um Shortcuts anlegen zu können, muss der Benutzer Rechte über den ShortcutFrame haben. Wie diese Rechte gesetzt werden, wurde bereits oben beschrieben.
114
Sandini Bib
3.3 Arbeiten im Backend
Verfügt der Benutzer über die Rechte, wird am Ende einer jeden Seite im Backend das Shortcut-Icon angezeigt. Öffnen Sie ein beliebiges Inhaltselement und klicken auf das Shortcut-Icon. Es öffnet sich ein Hinweis, den Sie zum Anlegen des Verweises bestätigen müssen. Im Shortcut-Frame erscheint dann der Shortcut. Aktivieren Sie das BEARBEITEN-Kästchen und klicken auf das Icon, um den Shortcut anzupassen. Sie können einen Namen vergeben und den Shortcut einer der vier Gruppen zuordnen. Die Shortcuts können dann über die Icons aufgerufen werden oder über das Pulldown-Menü, in dem die Bezeichnung des Shortcuts angezeigt wird.
Abbildung 3.24: Die drei Schritte: den Shortcut zur Bearbeitung öffnen, den Shortcut bearbeiten und speichern und den Shortcut über das Pulldown-Menü aufrufen Diese Shortcuts kann jeder Backend-Benutzer für sich separat setzen. Wie der Administrator einen Shortcut anlegt und diesen anderen Benutzern zuweisen kann, erfahren Sie in einem der folgenden Tipps.
3.3.4
Shortcuts zur Bearbeitung von Dateien
Shortcuts können auch auf Dateien verweisen. Beim Entwickeln von Templates kann der Administrator sich zum Beispiel die Datei mit den Stylesheets als Shortcut anlegen und spart sich so den ständigen Umweg über das Dateiliste-Modul. Sie müssen einmal die gewünschte Datei über das Dateiliste-Modul öffnen und dann das Shortcut-Icon am Seitenende klicken. Über den Shortcut-Frame kann nun mit einem einzigen Klick eine Datei zur Bearbeitung geöffnet werden.
3.3.5
Feste Shortcuts für Benutzer festlegen
Als Administrator können Sie Shortcuts festlegen und diese Backend-Benutzern über deren Benutzergruppen fest einrichten. Wie Shortcuts angelegt werden, wurde bereits oben beschrieben.
115
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.25: Die CSS-Datei kann von beliebiger Stelle im Backend mit einem einfachen Klick zur Bearbeitung geöffnet werden Wir haben einen Shortcut angelegt, über den man zum Formular für neue News gelangt. Diesen Shortcut wollen wir jetzt bearbeiten. Dazu setzen Sie das Häkchen BEARBEITEN und selektieren den gewünschten Shortcut. Vergeben Sie einen Namen und weisen dem Shortcut eine der Gruppen eins bis vier zu. Wenn Sie die Änderungen speichern, werden Sie sehen, dass vor dem Icon des Shortcuts die Nummer der selektierten Gruppe erscheint. Ist keine Gruppe selektiert, steht eine Null vor dem Icon.
Abbildung 3.26: Der Shortcut muss einer Gruppe zugewiesen werden, um den Shortcut anderen Benutzern zuordnen zu können Sie werden außerdem feststellen, dass Shortcuts, die einer globalen Gruppe zugeordnet sind, nicht mehr gelöscht werden können. Der Shortcut kann erst dann wieder gelöscht werden, wenn die globale Gruppe entfernt wird, was nur dem Administrator erlaubt ist. Damit auch andere Backend-Benutzer diesen Shortcut aufrufen können, öffnen Sie den Backend-Benutzer oder eine Benutzergruppe. Im Feld TSCONFIG muss jetzt die globale Gruppe der Shortcuts freigegeben werden. Öffnen Sie die TSCONFIG QUICKREFERENCE über das Icon rechts neben dem TSCONFIG-Feld. Unter [options] finden Sie die SHORTCUTGROUPS. Rechts finden Sie ein Beispiel, wie die Gruppen zugewiesen werden. Außerdem sollten Sie den Shortcut-Frame mit der entsprechenden Eigenschaft aktivieren, damit der Benutzer auch den Frame mit den Shortcuts angezeigt bekommt.
116
Sandini Bib
3.3 Arbeiten im Backend
Abbildung 3.27: Setzen Sie die Eigenschaften über die TSconfig QuickReference Wenn Sie die beiden Eigenschaften zur Liste hinzugefügt haben, scrollen Sie an das Ende der QUICKREFERENCE. Da es sich um Eigenschaften des options-Objekts handelt, müssen die Eigenschaften in dem Objekt stehen. Klicken Sie auf WRAP unterhalb des Ergebnisfeldes, und das übergeordnete Objekt wird korrekt eingefügt. Jetzt ist noch ein wenig Handarbeit gefordert, um die gewünschten Gruppen freizuschalten. Das fertige TypoScript im TSCONFIG-Feld sollte dann in etwa wie folgt aussehen: options { shortcutGroups { 1=1 } shortcutFrame=1 }
Wenn Sie jetzt einen Backend-Benutzer ausprobieren, dem das TypoScript im TSCONFIG-Feld zugewiesen wurde, dann sollte der Shortcut erscheinen. Der Benutzer kann den Shortcut weder löschen noch bearbeiten.
117
Sandini Bib
3 Administrationsoberflächen konfigurieren
Achtung Wenn Sie einen Shortcut anlegen und den Benutzern zuweisen, dann sollten Sie immer darauf achten, dass der Benutzer auch über entsprechende Rechte verfügt, diesen Shortcut ausführen zu können. Verweist der Shortcut beispielsweise in ein Verzeichnis, muss der Benutzer auch Zugriffsrechte zum Dateiliste-Modul besitzen und über seine Dateifreigabe auf das Verzeichnis zugreifen können.
3.3.6
Befehle zum Bearbeiten von Elementen anlegen
Um Befehle anlegen zu können, ist die Erweiterung sys_action notwendig. Die Erweiterung sys_action installieren Sie über den Ext Manager. Die Erweiterung finden Sie im Bereich BACKEND MODULES. Wenn die Erweiterung installiert ist, müssen Sie in das Liste-Modul wechseln und die Root-Seite aufrufen. Auf der Root-Seite legen Sie einen neuen Datensatz Befehl an. Den Typ müssen Sie auf EDIT RECORD einstellen. Sobald Sie den Typ geändert haben, wird sich das Formular ändern. Geben Sie jetzt einen Titel für die Aktion an. Unter RECORD TO EDIT wählen Sie die Datensätze aus, die zur Bearbeitung geöffnet werden sollen. Damit der Befehl auch anderen Backend-Benutzern zur Verfügung steht, muss unter ASSIGN ACTION TO GROUPS: eine Benutzergruppe zugewiesen werden. Alle Mitglieder dieser Gruppe können dann auch diesen Befehl ausführen, sofern sie Zugriff auf das Modul Benutzer/Aufgaben haben.
Abbildung 3.28: Es können auch mehrere Datensätze einem Befehl zugewiesen werden
118
Sandini Bib
3.3 Arbeiten im Backend
Die Backend-Benutzer, die der Gruppe ONLINE REDAKTION angehören, können jetzt über das Modul AUFGABEN das TASKCENTER öffnen und dort unter BEFEHLE den Befehl zum Bearbeiten der Datensätze finden. Wenn der Befehl aufgerufen wurde, muss der Benutzer nur noch einen der Datensätze auswählen, der sich anschließend zur Bearbeitung öffnet.
Abbildung 3.29: Befehle zum Bearbeiten von Datensätzen erleichtern die Arbeit besonders dann, wenn die Datensätze häufig bearbeitet werden müssen
3.3.7
Per Befehl eine Datensatzliste anzeigen lassen
Legen Sie auf der Root-Seite einen neuen Datensatz Befehl an. Den Typ des Befehls müssen Sie auf RECORD LIST einstellen. Geben Sie dazu dem Befehl einen Titel. Unter ASSIGN ACTION TO GROUPS müssen Sie den Befehl einer oder mehreren Gruppen zuweisen, die den Befehl ausführen dürfen. Jetzt müssen Sie noch die Seite angeben, auf der die Datensätze zu finden sind, von denen eine Liste generiert werden soll. Als Letztes müssen Sie unter LIST ONLY TABLE noch den Datensatz TYP angeben, der gelistet werden soll. Ab Version 3.7.0 können Sie auch einfach auf eines der Icons klicken, die die Datensatz-Typen symbolisieren. Bei älteren TYPO3-Versionen müssen Sie die Auswahl über das Pulldown-Menü tätigen. Der Backend-Benutzer kann jetzt über das Modul AUFGABEN im Taskcenter den neuen Befehl ausführen.
119
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.30: Das Eingabeformular erscheint erst, wenn Sie den Typ des Befehls auf Record List umgestellt haben
Abbildung 3.31: Der Befehl muss über das Taskcenter ausgeführt werden
120
Sandini Bib
3.3 Arbeiten im Backend
Achtung Hat der Benutzer keine Rechte, kann auch der Befehl nicht korrekt ausgeführt werden. Dem Benutzer müssen die folgenden Zugriffsrechte zugewiesen werden: Zugriff auf das Modul WEB>LISTE und BENUTZER>AUFGABEN. Der Benutzer muss wenigstens die Tabelle Adresse betrachten dür-
fen: TABLES (LISTING). Der DB Mount des Benutzers oder seiner Gruppe muss das Ver-
zeichnis sein, welches unter LIST PID im Befehl angegeben wurde oder ein übergeordnetes Verzeichnis. Über das Modul ZUGRIFF muss der Administrator dem Benutzer
wenigsten das Recht ZEIGE SEITE für die Seite mit den Datensätzen einräumen.
3.3.8
Per Befehl eine CSV-Liste exportieren
In diesem Tipp wollen wir beschreiben, wie Sie einen Befehl anlegen, den BackendBenutzer verwenden können, um eine Adressliste in eine CSV-Datei zu exportieren. Als Quelle dienen uns Frontend-User, die sich auf der Website angemeldet haben. Als Erstes muss eine Datenbankabfrage erzeugt werden, die die benötigten Daten ausgibt. Dazu rufen Sie das Modul DB CHECK auf und selektieren SEARCH WHOLE DATABASE. Stellen Sie danach im zweiten Pulldown-Menü ADVANCED QUERY ein und im dritten CSV EXPORT. Jetzt können Sie die Datenbankabfrage zusammenstellen. In unserem Beispiel wollen wir eine Liste von Backend-Benutzern exportieren, also muss als TABLE WEBSITE USER selektiert werden. Jetzt können die Felder ausgewählt werden, die in der Liste aufgeführt werden sollen. In dem grau hinterlegten Bereich können Sie die Abfrage einschränken. Im Anschluss daran können Sie die Ergebnismenge gruppieren und nach beliebigen Feldern in der Datenbank sortieren. Die Datenbankabfrage wird unter SQL QUERY angezeigt. Das Ergebnis der Abfrage können Sei sofort unter RESULT kontrollieren. Geben Sie der Datenbankabfrage noch einen Namen und speichern die Abfrage. Als Nächstes müssen Sie einen Befehl auf der Root-Seite anlegen, dem dann die Datenbank-Abfrage zugeordnet wird. Wechseln Sie also in das Liste-Modul und rufen die Root-Seite im SEITENBAUM auf. Legen Sie einen neuen Datensatz Befehl an. Der Befehl muss vom Typ SQL-QUERY sein. Geben Sie dem Befehl einen Namen und weisen Sie eine Benutzergruppe zu, deren Benutzer den Befehl ausführen dürfen.
121
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.32: Mit dieser Abfrage können Sie beliebige Exporte generieren und diese dann den Benutzern zur Verfügung stellen Wenn der Befehl fertig angelegt und gespeichert ist, wechseln Sie wieder in das Modul DB CHECK. Laden Sie die zuvor gespeicherte Datenbankabfrage. Sie werden feststellen, dass ein weiterer Name im Pulldown-Menü auftaucht, und zwar mit der Zahl in eckigen Klammern am Ende des Namens. Das ist der Befehl, den Sie zuvor angelegt haben. Laden Sie zuerst die Datenbankabfrage, das muss ein Name ohne diese Ziffer sein. Nachdem Sie die Abfrage geladen haben, selektieren Sie den Befehl im Pulldown-Menü, also den Eintrag mit der Ziffer in eckigen Klammern und klicken auf SAVE. Damit ist die Datenbankabfrage jetzt im Befehl gespeichert. Wechseln Sie anschließend in das Modul AUFGABEN und rufen im Taskcenter den neuen Befehl auf. Sie erhalten ein Textfeld mit dem Ergebnis der Abfrage, unter dem sich auch ein Link befindet, über den Sie das Ergebnis als Datei speichern können. Vorteil dieser Methode ist, dass der Benutzer lediglich Zugriffsrecht auf das Modul BENUTZER und BENUTZER>AUFGABEN benötigt. Es sind keine DB Mounts notwendig oder sonstige Zugriffsrechte.
122
Sandini Bib
3.3 Arbeiten im Backend
Abbildung 3.33: Der CSV Export über eine Datenbankabfrage ist zwar etwas aufwendiger, für den Administrator, aber einfacher für die Backend-Benutzer als der CSV Export über das Liste-Modul
3.3.9
Per Befehl Backend-Benutzer anlegen
Backend-Benutzer dürfen nur von Administratoren angelegt werden. Um zum Beispiel dem Radaktionsleiter auch ohne volle Adminrechte das Anlegen von Redakteuren zu ermöglichen, können Sie einen Befehl anlegen, über den Backend-Benutzer verwaltet werden können. Dazu benötigen Sie einen Backend-Benutzer, der als Vorlage für die Erzeugung neuer Benutzer dient. Alle Grundeinstellungen sollten Sie dem Benutzer über eine Benutzergruppe zuweisen. Dieser Gruppe könnten Sie zum Beispiel ein DB Mount zuweisen und Rechte am Seite- und Liste-Modul geben. Alle weiteren Rechte, zum Beispiel über das Dateiliste-Modul, können Sie über eine weitere Benutzergruppe vergeben, die optional die Rechte des Benutzers erweitert. Wenn Sie den Benutzer, der als Vorlage dienen soll angelegt haben, und die Benutzergruppe mit den Grundeinstellungen zugewiesen haben, testen Sie den Benutzer. Jetzt kann der eigentliche Befehl angelegt werden. Erzeugen Sie dazu den neuen Datensatz BEFEHL auf der Root-Seite und stellen den TYP auf CREATE BACKEND USER ein. Geben Sie Ihrem Befehl einen Titel. Als Nächstes muss der Benutzer, der als Vorlage dienen soll, unter TEMPLATE USER angegeben werden. Wenn Sie neben der Benutzergruppe mit den Grundeinstellungen noch weitere optionale Gruppen verwenden möchten, dann können Sie diese im letzten Feld zuordnen. In unserem Beispiel haben wir eine weitere Benutzergruppe angelegt, über die die Rechte zum Dateiliste-Modul und ein File Mount gesetzt werden. Diese Rechte können beim Ausführen des Befehls optional gesetzt werden. Somit kann der Radaktionsleiter selber Backend-Benutzer mit unterschiedlichen Rechten anlegen.
123
Sandini Bib
3 Administrationsoberflächen konfigurieren
Als Letztes müssen Sie noch eine Benutzergruppe festlegen, die diesen Befehl ausführen darf. In unserem Beispiel ist das die Gruppe Redaktionsleitung.
Abbildung 3.34: Damit nicht die komplette Benutzerverwaltung am Administrator hängen bleibt, können Teile der Benutzerverwaltung durch Befehle an andere Backend-Benutzer delegiert werden Wenn der Befehl fertig gestellt ist, speichern Sie ihn ab und testen den Befehl über das Modul AUFGABEN. Wenn Sie den Befehl aufrufen, erhalten Sie einige Eingabefelder, in denen der Login-Name und das Passwort angegeben werden müssen. Alle anderen Angaben sind optional. Wenn kein DB Mount über die Gruppe mit den Grundeinstellungen zugewiesen wurde, sollten Sie dieses unter SEITENBAUM STARTPUNKTE beim Anlegen des Backend-Benutzers über den Befehl nachholen. Besser ist es, Sie setzen einen DB Mount über die Benutzergruppe mit den Grundeinstellungen. Unter MITGLIEDER DER GRUPPEN können Sie dem Benutzer nun zusätzliche Rechte zuweisen. Wenn einmal über den Befehl ein Benutzer angelegt wurde, erhalten Sie eine Liste der Backend-Benutzer, die mit diesem Befehl angelegt wurden. Aus dieser Liste können Sie die Benutzer aufrufen, bearbeiten oder auch löschen.
124
Sandini Bib
3.3 Arbeiten im Backend
Abbildung 3.35: Die über einen Befehl angelegten Benutzer können später auch über den Befehl bearbeitet oder gelöscht werden Durch eine geschickte Rechtevergabe über einzelne Benutzergruppen kann so mit einem Befehl fast die komplette Benutzerverwaltung delegiert werden. Als Letztes bleibt nur noch zu testen, ob der Redaktionsleiter auch den Befehl ausführen kann. Dazu muss im Befehl unter ASSIGN ACTION TO GROUPS die Benutzergruppe der Redaktionsleitung entsprechend gesetzt sein, und der Redaktionsleiter muss natürlich Zugriff auf das Modul AUFGABEN haben.
3.3.10
Element Browser modifizieren
Wenn Sie Bilder mit dem Element Browser in ein Verzeichnis übertragen, in dem bereits Bilder vorhanden sind, werden als Erstes im Element Browser der Verzeichnisbaum und die Dateien geladen. Erst am Ende erscheint das Formular, über das neue Dateien übertragen werden können. Das heißt, es muss immer erst ans Ende der Liste gescrollt werden. Um nicht ständig ans Ende scrollen zu müssen, kann mit wenig TypoScript das Upload-Formular an den Anfang gestellt werden. Diese Funktionalität müssen Sie im TSCONFIG-Feld des Backend-Benutzers oder einer Benutzergruppe einstellen. Öffnen Sie dazu die TypoScript QuickReference. Unter [OPTIONS] finden Sie die Eigenschaft uploadFieldsInTopOfEB, die das Formular an den Anfang des Element Browsers stellt. Der Code im TSCONFIG-Feld muss wie folgt aussehen: options { uploadFieldsInTopOfEB=1 }
125
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.36: Der Element Browser mit dem Upload-Formular am Seitenanfang Dem Administrator steht standardmäßig die Möglichkeit zur Verfügung, auch über den Element Browser neue Verzeichnisse anzulegen. Für Backend-Benutzer ohne volle Adminrechte muss das Feld zum Anlegen neuer Verzeichnisse im Element Browser erst noch aktiviert werden. Auch diese Einstellung wird über das TSCONFIG-Feld des Backend-Benutzers oder einer Benutzergruppe vorgenommen und findet sich in der QuickReference unter [OPTIONS]. Die Eigenschaft heißt createFoldersInEB und muss mit =1 aktiviert werden. Leider kann die Position des Feldes zum Anlegen neuer Verzeichnisse nicht angepasst werden. Zum Anlegen neuer Verzeichnisse muss deshalb immer an das Ende des Element Browsers gescrollt werden. Mit einer weiteren Eigenschaft können Sie das Laden der Thumbnails im Element Browser unterbinden. Dadurch werden Listen besonders von Ordnern mit vielen Bildern schneller geladen. Diese Eigenschaft heißt noThumbsInEB und wird wie die beiden bereits beschriebenen Eigenschaften zugewiesen. Alle drei Eigenschaften im TSconfig sehen dann wie folgt aus. options { createFoldersInEB=1 uploadFieldsInTopOfEB=1 noThumbsInEB=1 }
126
Sandini Bib
3.3 Arbeiten im Backend
Abbildung 3.37: Das Erscheinungsbild des Element Browsers mit allen drei aktivierten Eigenschaften
3.3.11
Inhaltsspalten konfigurieren
Bei vielen TYPO3-Projekten werden Inhalte nur in der Spalte NORMAL angelegt. Werden die anderen Spalten nicht benötigt, können diese auch in der Spalten-Ansicht deaktiviert werden.
Abbildung 3.38: Nicht benutzte Spalten in der Spalten-Ansicht können ausgeblendet werden, um das Backend etwas übersichtlicher zu gestalten
127
Sandini Bib
3 Administrationsoberflächen konfigurieren
Diese Einstellung muss über das TSCONFIG-Feld der Seite vorgenommen werden. So können Sie zum Beispiel auf der Startseite noch alle Spalten anzeigen lassen und erst auf den Unterseiten die nicht verwendeten Spalten ausblenden. Die Einstellung wird an alle Unterseiten vererbt. Öffnen Sie die TypoScript QuickReference durch einen Klick auf das Symbol neben dem TSCONFIG-Feld. Im Objekt mod.web_layout finden Sie die Eigenschaft tt_content. colPos_list. Über diese Eigenschaft bestimmen Sie, welche Spalten in welcher Reihenfolge angezeigt werden sollen. Vorgabe hier ist 1,0,2,3. Spalten-Nummer
Spalten-Name
0
NORMAL
1
LINKS
2
RECHTS
3
RAND
Tabelle 3.3: Die Spalten im Backend und deren Nummern Das folgende TypoScript würde die Spalten LINKS, RECHTS und RAND ausblenden, sodass nur die Spalte NORMAL angezeigt wird. mod.web_layout { tt_content.colPos_list= 1 }
Im Seiteninhaltselement können zwar immer noch die anderen Spalten selektiert werden, aber beim Anlegen im Assistenten stehen nur noch die eingestellten Spalten zur Verfügung.
3.4
Frontend & Admin Panel
3.4.1
Bearbeitungswerkzeuge ohne Admin Panel
Das Admin Panel kann über die USER TSconfig eingestellt werden. Sie können das Admin Panel also für jeden Benutzer oder für jede Gruppe gesondert über deren TSCONFIG-Feld einstellen. Das Admin Panel muss allerdings zuvor noch im Template aktiviert werden, auch wenn nur die Bearbeitungswerkzeuge angezeigt werden sollen. config.admPanel = 1
Wenn Sie ein Frameset verwenden, sollten Sie das PAGE-Objekt voranstellen. page.config.admPanel = 1
128
Sandini Bib
3.4 Frontend & Admin Panel
Die Bereiche im Admin Panel können einzeln aktiviert werden. Die Anzeige der Bearbeitungswerkzeuge auf der Internetseite können Sie mit den Eigenschaften forceDisplayIcons und forceDisplayFieldIcons erzwingen, unabhängig davon, was im Admin Panel für Einstellungen vorgenommen werden. Um den Benutzer nicht mit dem kompletten Admin Panel zu belasten, kann das Admin Panel sogar verborgen werden, indem Sie die Eigenschaft hide=1 setzen. Dadurch wird das Admin Panel nicht deaktiviert, sondern nur versteckt. Dann müssen aber wenigstens die Icons oder die Icon-Felder aktiviert werden, am besten beide. admPanel { module.edit.forceDisplayFieldIcons = 1 module.edit.forceDisplayIcons = 1 hide = 1 }
3.4.2
Backend-Login mit Weiterleitung zum Frontend
Wie die Interfaces beim Login eingestellt werden können, haben wir bereits beschrieben. Dies lässt sich leider nur systemweit einstellen. Wenn nun aber einzelne Benutzer überwiegend im Frontend arbeiten, dann können diese über einen speziellen Link das Login aufrufen. Nach erfolgreicher Anmeldung wird der Benutzer dann auf das Frontend weitergeleitet. http://www.IhreDomain.de/typo3/index.php?redirect_url=../
Der Link kann von dem Benutzer in die Lesezeichen des Browsers aufgenommen werden. So spart sich der Benutzer das ständige Selektieren des Interfaces, wenn das Frontend nicht als erstes und somit als Standard eingestellt wurde. Eine weitere Möglichkeit besteht darin, den Link in das Template zu integrieren, sodass auf jeder Seite ein Link vorhanden ist, über den die Backend-Benutzer das Login mit der Weiterleitung zum Frontend aufrufen können.
3.4.3
Nur Frontend-Bearbeitung erlauben
Um Benutzern das Backend komplett zu deaktivieren, müssen Sie eine Erweiterung installieren. Rufen Sie den Extension Manager auf und wählen im Menü den Punkt IMPORT EXTENSIONS FROM ONLINE REPOSITORY aus. Da das Online Repository mittlerweile hunderte von Erweiterungen enthält, empfiehlt es sich, im Feld LOOK UP einen Suchbegriff einzugeben, damit nicht die komplette Liste aller Erweiterungen geladen wird. Der Extension Key der Erweiterung nach der Sie suchen, lautet FRONTEND_EDIT_ Geben Sie also den Extension Key ein und klicken Sie auf CONNECT TO ONLINE REPOSITORY. Sie erhalten dann die Erweiterung angezeigt. Diese müssen Sie zuerst
ONLY.
129
Sandini Bib
3 Administrationsoberflächen konfigurieren
importieren und anschließend installieren. Bei der Installation werden Sie feststellen, dass die Erweiterung ein zusätzliches Feld in die Tabelle der Backend-Benutzer BE_USERS einfügt. Nach erfolgreicher Installation öffnen Sie einen Backend-Benutzer zur Bearbeitung. Am Ende finden Sie das neue EDIT IN FRONTEND ONLY-Kästchen zwischen dem TSCONFIG-Feld und den ALLGEMEINEN OPTIONEN.
Abbildung 3.39: Ist das Häkchen gesetzt, kann der Backend-Benutzer nur noch auf dem Frontend Inhalte bearbeiten, das Backend lässt sich nicht mehr aufrufen Sie sollten natürlich darauf achten, dass der Benutzer dann auch über entsprechende Rechte verfügt, um auf dem Frontend arbeiten zu können. Das Admin Panel muss also aktiviert sein. Wenn das Admin Panel über die Eigenschaft hide versteckt ist, dann muss wenigstens über die Eigenschaft forceDisplayFieldIcons oder forceDisplayIcons die Bearbeitungsleiste oder die Bearbeitungswerkzeuge aktiviert sein.
3.4.4
Admin Panel frei platzieren
Das Admin Panel wird normalerweise immer unterhalb der Seite angezeigt. Die Erweiterung ADMIN PANEL WRAPPPING/POSITION ermöglicht es, das Admin Panel in ein beliebiges HTML-Konstrukt einzubetten und damit frei auf der Website zu platzieren. Da dann das Admin Panel Teile der Website überlagern könnte, wurde in der Vorgabe das Admin Panel in ein JavaScript eingebettet, welches das Admin Panel jetzt per Drag&Drop frei positionierbar macht.
3.4.5
News im Frontend bearbeitbar machen
Über das Admin Panel können standardmäßig nur Seiteninhalte bearbeitet werden, nicht aber Datensätze. Um nun das Bearbeiten von News im Frontend zu ermöglichen, sind zwei kleine Anpassungen am News-Modul notwendig. Als Erstes muss das Admin Panel für die News aktiviert werden. Dazu fügen Sie in das Setup-Feld Ihres Templates das folgende TypoScript ein: plugin.tt_news.general_stdWrap.editPanel = 1
130
Sandini Bib
3.4 Frontend & Admin Panel
Abbildung 3.40: Das JavaScript kann durch eigenen Code ersetzt werden Über die Eigenschaft allow müssen Sie jetzt noch die Funktionen aktivieren, die zur Verfügung gestellt werden sollen. In unserem Beispiel können Benutzer im Frontend vorhandene News bearbeiten, neue News anlagen oder auch löschen. plugin.tt_news.general_stdWrap.editPanel.allow = edit, new,delete
In der Tabelle erhalten Sie eine Übersicht über die möglichen Funktionen, die über die Eigenschaft allow aktiviert werden können. Beachten Sie dabei, dass der BackendBenutzer entsprechende Zugriffsrechte auf den Datensatz hat. Nicht alle Funktionen sind für die News-Seiten sinnvoll. Da die News nach dem Datum sortiert werden, können die News nicht manuell sortiert werden. Bei den News würden die Symbole zum Sortieren also auch nicht angezeigt werden, wie es ebenfalls im Backend der Fall ist. Werte
Funktionen
toolbar
Aktiviert die Werkzeugleiste
edit
Öffnet den Datensatz
new
Erzeugt einen neuen Datensatz
delete
Löscht den Datensatz
move
Verschiebt den Datensatz
hide
Versteckt den Datensatz
Tabelle 3.4: Die möglichen Funktionen, die Sie über die Eigenschaft allow aktivieren können
131
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.41: Auf dieser News-Seite sind die Bearbeitungswerkzeuge zum Editieren, Erzeugen und Löschen neuer News aktiviert
3.4.6
Logout vom Frontend
Damit Sie Ihren Benutzer aus dem TYPO3-Administrationsbereich abmelden können, müssen Sie im Backend auf die Schaltfläche LOGOUT klicken, oder alle Instanzen Ihres Browsers schließen. Benutzer, die aber ausschließlich auf dem Frontend arbeiten, können sich nicht vom TYPO3-System abmelden, und die Option, den Browser zu schließen, ist auch nicht besonders komfortabel. Das folgende TypoScript ermöglicht es Ihren Benutzern, sich auch vom Frontend abmelden zu können und muss in das SETUP-Feld Ihres Templates eingefügt werden. Achtung Achten Sie unbedingt darauf, dass das TypoScript in geschweiften Klammern steht.
132
Sandini Bib
3.4 Frontend & Admin Panel
Als Erstes muss TYPO3 erkennen, ob die Seite von einem angemeldeten BackendBenutzer aufgerufen wird. Nur dann soll die Möglichkeit zum Abmelden angezeigt werden. Das heißt, Ihren »normalen« Besuchern wird der Befehl nicht angezeigt. [globalVar = TSFE : beUserLogin = 1] [global]
Das TypoScript innerhalb dieser Bedingung wird nur angezeigt, wenn die Seite von einem angemeldeten Backend-Benutzer aufgerufen wird. Wird die Seite von jemandem, der nicht als Backend-Benutzer angemeldet ist, aufgerufen, dann ist die globale Variable beUserLogin gleich null. Damit trifft die Bedingung nicht zu und wird ignoriert. Jetzt folgt der Code, der den Link zum Abmelden erzeugt. page.10.subparts.LOGOUT = TEXT page.10.subparts.LOGOUT.value = Logout
In diesem Beispiel benötigen Sie einen Subpart in Ihrem Template, der LOGOUT heißt. Sie können aber auch vorhandene Elemente benutzen, zum Beispiel das WebsiteLogo oder eine Überschrift, und diese mit dem Abmelde-Link verlinken. In unserem zweiten Beispiel wird im Header einer jeden Seite ein Text generiert, der den subtitle der jeweiligen Seite ausgibt. Dieser Text wird durch die Eigenschaft wrap mit dem A HREF verlinkt, der das Abmelden durchführt. page.10.subparts.SUBTITLE.wrap =
Bearbeitungsleiste an beliebiger Stelle im Template positionieren
Die Bearbeitungsleiste im Frontend kann frei positioniert und auch im Umfang angepasst werden. Das Ausgangs-TypoScript sieht wie folgt aus: neueSeiteAssistent = COA neueSeiteAssistent { 10 = EDITPANEL 10 { allow = new label = Seite:%s Neue Seite line = 10 } }
133
Sandini Bib
3 Administrationsoberflächen konfigurieren
Abbildung 3.42: Angemeldete Backend-Benutzer können sich über die Überschrift oben rechts von jeder Seite aus abmelden Über die Eigenschaft allow legen Sie fest, welche Icons in der Bearbeitungsleiste angezeigt werden sollen. Über die Eigenschaft label geben Sie der Bearbeitungsleiste einen Namen. Die Eigenschaft line definiert den Abstand zur schwarzen Linie, die nach der Bearbeitungsleiste angezeigt wird. Dieses Content Objekt (COA) können Sie jetzt einem beliebigen Marker oder Subpart in Ihrem Template zuweisen. In unserem Beispiel haben wir das QuickStart Paket verwendet und das Objekt über die Navigation gestellt. left.96 < neueSeiteAssistent
Den Code müssen Sie in das SETUP-Feld des Templates schreiben.
134
Sandini Bib
3.4 Frontend & Admin Panel
Abbildung 3.43: Die auf das Anlegen neuer Seiten eingeschränkte Bearbeitungsleiste über der Navigation
135
Sandini Bib
Sandini Bib
4
Templates unter TYPO3
4.1
Zum Einsatz von TypoScript
4.1.1
Style Sheets in Projekte integrieren
Normalerweise werden Style Sheets mithilfe der Eigenschaft stylesheet des PAGEObjektes in die Seiten eingebunden. page.stylesheet = fileadmin/css/seiten.css
Auf diese Weise lässt sich aber nur eine Style Sheet-Datei einbinden. Wenn Sie Ihre Style Sheets gerne auf mehrere Dateien verteilen, müssen auch alle diese Dateien im Header der HTML-Dokumente eingebunden sein. Das lässt sich mit der Eigenschaft includeCSS des PAGE-Objektes bewerkstelligen. Dieser Eigenschaft kann bzw. muss ein Array übergeben werden, das mehrere Style Sheet-Dateien beinhalten kann. includeCSS { file1 = fileadmin/css/seiten.css file2 = fileadmin/css/navigation.css file3 = fileadmin/css/formulare.css }
Achten Sie darauf, dass Sie die Eigenschaft includeCSS Ihrem PAGE-Objekt zugewiesen haben. Wenn das PAGE-Objekt page heißt, dann muss das TypoScript wie folgt aussehen: page.includeCSS { file1 = fileadmin/css/seiten.css …
Wenn Sie für unterschiedliche Ausgaben, beispielsweise Bildschirm- und Druckausgabe, Style Sheets definiert haben, können Sie über die Eigenschaft media die entsprechenden Attribute im <style> tag setzen.
Wie Sie CSS-Dateien einbinden, haben wir im vorangegangenen Tipp beschrieben. In diesem Tipp wollen wir jetzt ein dynamisches Style Sheet generieren. Legen Sie sich dazu einen neuen Datensatz vom Typ Template an. Dieses Template soll die Style Sheet-Definitionen beinhalten. Sie müssen dieses Template über INCLUDE BASIS TEMPLATE in Ihr Haupt-Template integrieren.
Abbildung 4.1: Das Template mit den Style Sheet-Definitionen muss in das HauptTemplate eingebunden werden In dem Style Sheet-Template wird jetzt zuerst ein neues PAGE-Objekt angelegt. Dieses PAGE-Objekt bekommt eine typeNum, die noch nicht verwendet wird. Die Nummern im Neunziger-Bereich sind für xml, wap und andere Ausgabeformate reserviert und sollten daher nicht verwendet werden. Wir verwenden in unserem Beispiel die Nummer 234. Mithilfe dieser Nummer können Sie dann später Ihr dynamisches Style Sheet aufrufen und überprüfen. Übergeben Sie dazu bei Aufruf den Typ mit der entsprechenden Nummer. http://www.IhreDomain.de/index.php?id=1&type=234
Da TYPO3 HTML-Dokumente generiert und entsprechend automatisch den Header eines jeden Dokumentes generiert, muss dieses für unser dynamisches Style Sheet unterbunden werden. config{ additionalHeaders = Content-type: text/css disableAllHeaderCode = 1 }
Achten Sie darauf, dass Sie die Eigenschaft config Ihrem PAGE-Objekt zugewiesen haben. Wenn das PAGE-Objekt page heißt, dann muss das TypoScript wie folgt aussehen:
Mit der Eigenschaft additionalHeaders wird ein Dokument vom entsprechenden Typ generiert. Die Eigenschaft disableAllHeaderCode unterdrückt die Ausgabe des üblichen Headers. Jetzt wird ein leeres Style Sheet-Dokument generiert, das nur noch mit den Style Sheet-Angaben gefüllt werden muss. Die Style Sheet-Angaben geben Sie über ein einfaches Text-Objekt an. 10 = TEXT 10.value ( p { font-family:Arial, Helvetica, sans-serif; font-size: 12px; color:#333333; line-height:150%; } )
Verwenden Sie bei der Eigenschaft value normale Klammern, um mehrzeiligen Code zu übergeben. Innerhalb der Klammern können Sie dann Ihre Style Sheet-Angaben platzieren. Um das dynamische Style Sheet zu überprüfen, rufen Sie eine TYPO3-Seite auf und übergeben dabei den Seiten-Typ. http://www.IhreDomain.de/index.php?id=1&type=234 Sie sollten dann den im TEXT-Objekt angegebenen Code angezeigt bekommen. Das gesamte TypoScript gehört in das Setup-Feld Ihres Style Sheet-Templates. Eine Ausgangsversion des kompletten TypoScript würde dann wie folgt aussehen: dyn_css = PAGE dyn_css { typeNum = 234 config{ additionalHeaders = Content-type: text/css disableAllHeaderCode = 1 } 10 = TEXT 10.value ( p { font-family:Arial, Helvetica, sans-serif; font-size: 12px; color:#333333;
139
Sandini Bib
4 Templates unter TYPO3
line-height:150%; } ) }
Der Seitenaufruf mit Übergabe des Seiten-Typs machen wir uns jetzt zunutze, um das dynamische Style Sheet in das Haupt-Template zu integrieren. Speichen Sie also Ihr Style Sheet-Template und öffnen Sie Ihr Haupt-Template. Über die Eigenschaft headerData können Inhalte in den Header der von TYPO3 generierten HTML-Dokumente eingefügt werden. Wir wollen jetzt einen Verweis auf ein Style Sheet in den Header integrieren, der auf das dynamische Style Sheet verweist. Den Verweis haben Sie ja schon aufgerufen, um das dynamische Style Sheet zu überprüfen. Ein Style Sheet wird wie folgt in ein HTML-Dokument eingefügt: |
Sie müssen hier lediglich beachten, dass die korrekte Nummer bei type eingefügt wird. Diese muss identisch mit der typeNum sein, die Sie für das Seitenobjekt des dynamischen Style Sheets angegeben haben. In dem Quellcode Ihrer Seiten muss jetzt im Header jeder Seite der folgende Code zu finden sein:
Achtung Bedenken Sie, dass bei diesem Style Sheet alle über das Style Sheet zugewiesenen Bilder jetzt relativ vom Document Root ausgehend adressiert werden müssen. In der Regel also fileadmin/… . Bei den statischen Style Sheets müssen die Grafiken relativ vom Style Sheet-Dokument selber adressiert werden.
140
Sandini Bib
4.1 Zum Einsatz von TypoScript
4.1.3
Stylesheets als Ressource anfügen und bearbeiten
Sie können Cascading Style Sheets über das Dateiliste-Modul übertragen und auch bearbeiten. Die Style Sheet-Datei muss dann mit dem kompletten Pfad beginnend beim Verzeichnis fileadmin über die Eigenschaft stylesheet des PAGE-Objektes eingebunden werden. page.stylesheet = fileadmin/template/css/main.css
Sie können die Style Sheet-Datei aber auch Ihrem Tamplete als Ressource anfügen. Wechseln Sie dazu in das Modul Template und rufen die Ansicht INFO/MODIFY im Menü rechts oben auf. Anschließend können Sie dem Template über den Punkt RESOURCES unter anderem vorhandene Style Sheet-Dateien zuweisen oder auch neue Text-Ressourcen anlegen.
Abbildung 4.2: Wenn Sie eine Style Sheet-Datei als Ressource dem Template zugewiesen haben, dann lässt sich diese auch vom Modul Template aus bearbeiten
141
Sandini Bib
4 Templates unter TYPO3
Sie müssen im Setup-Feld Ihres Templates dennoch die Datei zuweisen. In diesem Fall muss das Style Sheet über die Eigenschaft stylesheet eingebunden werden. Ressourcen brauchen aber nur mit dem Dateinamen eingebunden zu werden und nicht mit dem kompletten Pfad. page.stylesheet = globale_css_angaben.css
Diese Methode hat einige Vorteile. Ihnen ist vielleicht schon aufgefallen, dass TYPO3 Dateien nicht einfach überschreibt, wenn eine Datei mit identischem Namen bereits existiert. In diesem Fall werden die Dateien mit einem Nummernzusatz gespeichert. Bindet man jetzt die Ressource wie folgt ein, bindet TYPO3 automatisch immer die aktuellste Version ein. page.stylesheet = globale_css_angaben*.css
Außerdem können Sie nun alle Angaben bezüglich des Templates im selben Modul, nämlich dem Template-Modul anpassen und müssen nicht ständig zum DateilisteModul wechseln. Außerdem stehen diese Dateien bei einem T3D Export zur Verfügung.
4.1.4
Styles über den CSS Styler bearbeiten
Wenn Sie Ihre Style Sheets angelegt haben, müssen diese über die Ressourcen im Modul Template oder über das Modul Dateiliste bearbeitet werden. Dabei wird der Quellcode der Style Sheet-Datei direkt bearbeitet. Um im Quellcode Style Sheet-Definitionen anpassen zu können, ist einiges an Wissen notwendig, um korrekten Quellcode zu generieren. Um auch ohne Style Sheet-Kenntnisse diese Definitionen ändern zu können, kann der CSS Styler eingesetzt werden. Viele Erweiterungen haben diesen bereits implementiert. So lassen sich die Styles des Indexed Search über den CSS Styler anpassen. Um nun die eigenen Styles über dieses Tool editierbar zu machen, müssen Sie die einzelnen Styles dem CSS Styler über das Template bekannt machen. Wechseln Sie in das Template-Modul und rufen Sie oben rechts INFO/MODIFY auf. Nun müssen Sie das gesamte Template zur Bearbeitung öffnen. Dazu klicken Sie auf CLICK HERE TO EDIT WHOLE TEMPLATE RECORD. Scrollen Sie zum Seitenende, wo Sie die BACKEND EDITOR CONFIGURATION finden. Hier können Sie das Backend konfigurieren. Als Erstes müssen Sie über das Objekt CSS_editor und dessen Eigenschaft ch die einzelnen Style Sheet-Selektoren festlegen, die über den CSS Styler editierbar gemacht werden sollen. Welche CSS-Attribute bearbeitbar sein sollen, wird durch die Eigenschaft attribs festgelegt. Über die Eigenschaft example sollten Sie einen Beispieltext, der mit dem jeweiligen Style ausgezeichnet ist, angeben. Nur dann ist es möglich, das Resultat direkt im CSS Styler zu betrachten.
142
Sandini Bib
4.1 Zum Einsatz von TypoScript
Um zum Beispiel die Selektoren p und h1 editierbar zu machen, würde das TypoScript wie folgt aussehen: CSS_editor.ch{ h1 { selector = h1 attribs = HEADER example =
Beispieltext für das Absatzformat
} p { selector = p attribs = TEXT example =
Beispiel Überschrift vom Typ H1
} }
Jetzt können Sie den CSS Style aufrufen. Wechseln Sie in das Template-Modul und rufen Sie oben rechts im Pulldown-Menü CSS Style auf. Sie werden wenigstens die beiden Selektoren h1 und p finden. Je nach installierter Erweiterung, können auch noch andere Selektoren angezeigt werden.
Abbildung 4.3: Der CSS Styler mit den beiden freigeschalteten Selektoren Wichtig ist, dass Sie eine Style Sheet-Datei mit den in den letzten Tipps vorgestellten Eigenschaften eingebunden haben. In dieses Style Sheet schreibt der CSS Styler dann die Änderungen. Die einzelnen Selektoren müssen nicht zwangsläufig vorhanden sein. Wenn Sie zum Beispiel die Überschrift h2 anlegen, diese aber noch nicht im Style Sheet vorhanden ist, legt der CSS Styler den Selektor am Ende der Style Sheet-Datei an. CSS_editor.ch{ H2 { selector = h2
143
Sandini Bib
4 Templates unter TYPO3
attribs = HEADER example =
Beispieltext für das Absatzformat
} }
Der über die Eigenschaft attribs festgelegte Style Sheet-Typ legt fest, welche Angaben verändert werden können. Beim Typ TEXT sind zum Beispiel die Attribute font-family, font-size, color, font-weight, font-style und font-variant zu bearbeiten. Attribs-Werte
Attribute, die zur Bearbeitung im CSS Styler bereitstehen
Tabelle 4.1: Übersicht der möglichen Werte der Eigenschaft attribs
4.1.5
Abfragen globaler Variablen
Mit den globalen Variabeln können Sie TypoScript in Abhängigkeit von diesen Variablen steuern. TYPO3 verfügt über eine Vielzahl von Variablen, mit denen sich fast jede Aufgabe lösen lässt. Die Bedingungen stehen jeweils in eckigen Klammern [Bedingung]. Damit die Bedingungen korrekt funktionieren, muss jede Bedingung mit der Zeile [global] abgeschlossen werden. Durch diese Zeile wird die Bedingung sozusagen geschlossen. Schließen Sie die Bedingung nicht, wird das komplette nachfolgende TypoScript in Abhängigkeit von der Bedingung ausgeführt. Bei Bedingungen ist besonders zu beachten, dass sie immer außerhalb von geschweiften Klammern stehen. So funktioniert es nicht: Page.10 { template.file = fileadmin/msie_template.html [browser = netscape]
Über die globale Variable browser kann zwischen unterschiedlichen Browsern unterschieden werden. TYPO3 kann zwischen neun Browsern unterscheiden. Browser
TYPO3-Browsercode
Microsoft Internet Explorer
msie
Netscape Communicator
netscape
Lynx
lynx
Opera
opera
PHP fopen
php
AvantGo (www.avantgo.com)
avantgo
Adobe Acrobat WebCapture
acrobat
IBrowse (amiga-browser)
ibrowse
Teleport Pro
teleport
???
unknown
Tabelle 4.2: Die Browser im Überblick, die in TypoScript durch die Bedingung browser unterschieden werden können Mit der Variable version können Sie zusätzlich noch die Browserversion in Ihre Bedingung einbeziehen. Hierbei können Sie spezielle Versionen abfragen [version= =5.5] oder auch Versionen ab einer bestimmten Versionsnummer [version= >4]. Das TypoScript, das für den Netscape Navigator ein gesondertes Template verwendet, würde dann wie folgt aussehen: page.10 { template = FILE template.file = fileadmin/templates /main_template.html
Besonders wichtig zu beachten ist, dass Sie die Bedingung außerhalb der geschweiften Klammern platzieren. Sie können auch mehrere Werte in eine Bedingung legen oder Bedingungen schachteln: [browser = netscape, opera]
Um zum Beispiel für alte Internet Explorer-Versionen und für den Netscape Navigator 3 ein anderes Template zu verwenden, könnte eine Bedingung so aussehen: [version= <5][browser= netscape3]
4.1.7
Betriebssysteme erkennen
Über die Variable system können Sie zwischen den Betriebssystemen unterscheiden, die Ihre TYPO3-Website besuchen. Betriebssystem
TYPO3 Code
Linux
linux
SGI/IRIX
unix_sgi
SunOS
unix_sun
HP-UX
unix_hp
Macintosh
mac
Windows 3.11
win311
Windows NT
winNT
Windows 95
win95
Windows 98
win98
Amiga
amiga
Tabelle 4.3: Die Betriebssysteme im Überblick, die in TypoScript durch die Bedingung system unterschieden werden können Um alle Windows-Systeme in der Bedingung zu erfassen, können Sie auch nur auf win prüfen. [system = win]
Die Bedingung würde bei allen Windows-Systemen WAHR zurückliefern. Es muss also nicht der komplette TYPO3-Identifikationscode abgefragt werden.
146
Sandini Bib
4.1 Zum Einsatz von TypoScript
4.1.8
Das Datum anzeigen
Um das aktuelle Datum auf Ihrer Internetseite anzuzeigen, benötigen Sie zuerst einen Subpart oder einen Marker in Ihrem Template. In unserem Beispiel haben wir den Subpart SUBTITLE erweitert und daraus ein Content Objekt Array (COA) gemacht, dem dann mehrere Objekte zugewiesen werden können. Dazu müssen Sie ein TEXT-Objekt erzeugen. Über die date-Eigenschaft data des TEXTObjektes legen Sie dann den Datentyp fest. In diesem Beispiel also date für ein Datum. Über den Buchstaben, der durch einen Doppelpunkt getrennt dem date angefügt wird, konfigurieren Sie die Ausgabe der Datumsfunktion date. Format Zeichen Beschreibung
Beispiel für Rückgabewerte
A
Kleingeschrieben: Ante meridiem und Post Am oder pm meridiem
A
Großgeschrieben: Ante meridiem und Post AM oder PM meridiem
B
Swatch-Internet-Zeit
C
ISO 8601 Datum (hinzugefügt in PHP 5)
2004-02-12T15:19:21+00:00
D
Tag des Monats, 2-stellig mit führender Null
01bis31
D
Tag der Woche als mit drei Buchstaben
Mon bis Sun
F
Monat als ganzes Wort, wie January oder March
January bis December
G
12-Stunden-Format, ohne führende Nullen 1 bis 12
G
24-Stunden-Format, ohne führende Nullen 0 bis 23
H
12-Stunden-Format, mit führenden Nullen
01 bis 12
H
24-Stunden-Format, mit führenden Nullen
00 bis 23
I
Minuten mit führenden Nullen
00 bis 59
I (großes »i«)
Fällt ein Datum in die Sommerzeit
1 bei Sommerzeit, ansonsten 0
J
Tag des Monats ohne führende Nullen
1 bis 31
L (kleines »L«)
Ausgeschriebener Tag der Woche
Sonntag – Samstag
L
Schaltjahr oder nicht
1 für ein Schaltjahr, ansonsten0
M
Monat als Zahl, mit führenden Nullen
01 bis 12
M
Monatsname mit drei Buchstaben
Jan bis Dec
N
Monatszahl, ohne führende Nullen
1 bis 12
O
Zeitunterschied zur Greenwich time (GMT) in Stunden
Beispiel:+0200
000 bis 999
Tabelle 4.4: Die date-Funktion kann die gelisteten Formate zurückliefern
147
Sandini Bib
4 Templates unter TYPO3
Format Zeichen Beschreibung
Beispiel für Rückgabewerte
R
RFC 2822-formatiertes Datum
Beispiel: Thu, 21 Dec 2000 16:01:07 +0200
S
Sekunden, mit führenden Nullen
00 bis 59
S
Anhang der englischen Aufzählung für einen Monatstag, zwei Zeichen
st, nd, rd oder th. Zur Verwendung mit j empfohlen.
T
Anzahl der Tage des angegebenen Monats
28 bis 31
T
Zeitzoneneinstellung des Rechners
Beispiele: EST, MDT...
U
Sekunden seit Beginn der UNIX-Epoche (January 1 1970 00:00:00 GMT)
W
Numerischer Tag einer Woche
W
ISO-8601 Wochennummer des Jahres, die Beispiel: 42 (die 42 Woche im Woche beginnt am Montag (hinzugefügt in Jahr) PHP 4.1.0)
Y
Vierstellige Jahreszahl
Beispiel: 1999 oder 2005
Y
Jahreszahl, zweistellig
Beispiele: 99 oder 05
Z
Der Tag eines Jahres
0 bis 365
Z
Offset der Zeitzone in Sekunden. Der Offset für Zeitzone West nach UTC ist immer negativ und für Zeitzone Ost nach UTC immer positiv.
-43200 bis 43200
0 (für Sonntag) bis 6 (für Samstag)
Tabelle 4.4: Die date-Funktion kann die gelisteten Formate zurückliefern (Forts.) Mit dem folgenden TypoScript würden Sie beispielsweise den aktuellen Wochentag ausgeben: page.10 { subparts.SUBTITLE.20 = TEXT subparts.SUBTITLE.20.data = date:l subparts.SUBTITLE.20.wrap =
Heute ist |
}
Sie können auch mehrere Formatzeichen angeben, um die Ausgabe beliebig anzupassen. Alternativ können Sie die Ausgabe durch die Eigenschaft strftime einstellen. Dazu müssen Sie einen UNIX-Zeitstempel erzeugen, was Sie mit date:U realisieren. Diesen UNIX-Zeitstempel können Sie dann durch strftime in der Anzeige formatieren.
148
Sandini Bib
4.1 Zum Einsatz von TypoScript
Format Zeichen Beschreibung
Beispiel für Rückgabewerte
%a
Abgekürzter Name des Wochentages
Mo – Fr
%A
Ausgeschriebener Name des Wochentages
Sonntag – Samstag
%b
Abgekürzter Name des Monats
Jan – Dez
%B
Ausgeschriebener Name des Monats
Januar – Dezember
%c
Wiedergabewerte für Datum und Zeit
Mon 15 Aug 20:15:00 2005
%C
Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer)
20
%d
Tag des Monats als Zahl
01 bis 31
%D
So wie %m/%d/%y
%e
Tag des Monats als Dezimal-Wert
%g
Wie %G, aber ohne Jahrhundert.
%G
Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V)
%h
So wie %b
%H
Stunde als Zahl im 24-Stunden-Format
00 bis 23
%I
Stunde als Zahl im 12-Stunden-Format
01 bis 12
%j
Tag des Jahres als Zahl
001 bis 366 01 bis 12
%m
Monat als Zahl
%M
Minute als Dezimal-Wert
%n
Neue Zeile
%p
Entweder `am' oder `pm' (abhängig von der gesetzten Umgebung) oder die entsprechenden Zeichenketten der gesetzten Umgebung
´ 1´ bis ´31´ Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit: Entspricht die ISO-Wochennummer dem vorhergehenden oder folgenden Jahr, wird dieses Jahr verwendet.
Dient zur Formatierung der Ausgabe
%r
Zeit im Format a.m. oder p.m.
%R
Zeit in der 24-Stunden-Formatierung
%S
Sekunden als Dezimal-Wert
%t
Tabulator
%T
Aktuelle Zeit
Genau wie %H:%M:%S
%u
Tag der Woche als Dezimal-Wert
1 bis 7, dabei ist 1 der Montag
Dient zur Formatierung der Ausgabe
Tabelle 4.5: Die Formatierungsmöglichkeiten des von date:U gelieferten Unix-Zeitstempels mit strftime
149
Sandini Bib
4 Templates unter TYPO3
Format Zeichen Beschreibung
Beispiel für Rückgabewerte
%U
Nummer der Woche des aktuellen Jahres als Dezimal-Wert
Beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche
%V
Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres
Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie %G or %g für die Jahreskomponente, die der Wochennummer für den gegebenen Timestamp entspricht.)
%w
Wochentag als Dezimal-Wert
Sonntag ist 0
%W
Nummer der Woche des aktuellen Jahres
Beginnend mit dem ersten Montag als erstem Tag der ersten Woche
%x
Bevorzugte Datumswiedergabe (ohne Zeit), 15.08.2005 abhängig von der gesetzten Umgebung.
%X
Bevorzugte Zeitwiedergabe (ohne Datum)
18:15:42 abhängig von der gesetzten Umgebung
%y
Jahr als 2-stellige-Zahl
00 bis 99
%Y
Jahr als 4-stellige-Zahl
2005
%Z
Zeitzone
Name oder eine Abkürzung CEST
%%
Ein %-Zeichen
Tabelle 4.5: Die Formatierungsmöglichkeiten des von date:U gelieferten Unix-Zeitstempels mit strftime (Forts.) Das folgende TypoScript würde dann eine Ausgabe wie heute ist Montag, der 15. Aug 2005 zur Folge haben. page.10 { subparts.SUBTITLE.20 = TEXT subparts.SUBTITLE.20.data = date:U subparts.SUBTITLE.20.strftime = heute ist %A, der %d.%b %Y subparts.SUBTITLE.20.wrap =
|
}
Je nach Einstellung des Webservers kann es sein, dass die Zeit- und Datumsausgabe in Englisch erfolgen. Wenn die deutschen Sprachpakete auf Ihrem Server installiert
150
Sandini Bib
4.1 Zum Einsatz von TypoScript
sind, dann kann in TYPO3 die Sprache mit folgendem TypoScript umgeschaltet werden. Das Typo3Script müssen Sie in das Setup-Feld Ihres Templates schreiben. config{ locale_all = de_DE@euro }
4.1.9
Das Datum als Grafik ausgeben
Wenn Sie ein Datum als Grafik ausgeben möchten, ist das mit dem GIFBUILDERObjekt möglich. In diesem Tipp wollen wir das aktuelle Datum auf einer Hintergrundgrafik platzieren und diese dynamisch generieren. Als Hintergrundgrafik dient uns die TYPO3-Box.
Abbildung 4.4: Auf der TYPO3-Box soll das Datum erscheinen Wie schon im vorangegangenen Tipp muss das Objekt bestehend aus Hintergrund und Datum über einen Marker oder Subpart in Ihrem Template platziert werden. Wir bedienen uns in diesem Beispiel wieder eines Subparts. In diesem Subpart müssen Sie als Erstes ein IMAGE-Objekt erzeugen und über die Eigenschaft file ein GIFBUILDER-Objekt zuweisen. page.10{ subparts.SUBTITLE.20 = IMAGE subparts.SUBTITLE.20.file = GIFBUILDER }
Damit ist praktisch eine leere Grafik erzeugt, die vom GIFBUILDER gefüllt wird. Wir wollen zwei Objekte im GIFBUILDER generieren. Zum einen das Hintergrundbild, auf dem dann die Grafik mit dem Datum platziert wird. Zuvor müssen Sie aber noch festlegen, wie groß die endgültige Grafik werden soll. Die Größe legen Sie über die Eigenschaft XY des GIFBUILDER-Objektes fest.
151
Sandini Bib
4 Templates unter TYPO3
Jetzt wollen wir die beiden Objekte für Hintergrundgrafik und Text anlegen. Die Hintergrundgrafik sollten Sie als Ressource dem Template zuweisen. Wechseln Sie dazu in das Modul Template und rufen Sie die Ansicht INFO/MODIFY auf. Jetzt klicken Sie auf den kleinen Stift vor dem Feld RESOURCES. Anschließend können Sie die Hintergrundgrafik übertragen.
Abbildung 4.5: Die Hintergrundgrafik sollten Sie als Ressource Ihrem Template zuweisen Die Hintergrundgrafik wird dann in einem numerischen Objekt im GIFBUILDER mit den folgenden zwei Zeilen TypoScript erzeugt: 10 = IMAGE 10.file = typo3_box*.jpg
Sollten Sie die Grafik nicht als Ressource dem Template zugewiesen haben, können Sie die Hintergrundgrafik auch über das Dateiliste-Modul übertragen. Dann müssen Sie aber den gesamten Pfad zur Grafik, angefangen beim Verzeichnis fileadmin, angeben.
152
Sandini Bib
4.1 Zum Einsatz von TypoScript
In einem weiteren numerischen Objekt generieren Sie jetzt den Text. Das Prinzip ist identisch wie im vorherigen Tipp beschrieben. Lediglich die Eigenschaften offset und fontColor sind jetzt hinzugekommen. Über diese Eigenschaften wird der Text um die angegebenen Werte horizontal und vertikal verschoben und somit auf der Hintergrundgrafik platziert. 20 = TEXT 20 { text.data = date:U text.strftime = %A, %d.%b. %y offset = 30,100 fontColor = #FF9900 }
Das gesamte TypoScript würde dann wie folgt aussehen und muss im Setup-Feld des Templates stehen. page.10{ subparts.SUBTITLE.20 = IMAGE subparts.SUBTITLE.20.file = GIFBUILDER subparts.SUBTITLE.20.file { XY = 200, 222 //Größe der generierten Grafik 10 = IMAGE //Das Imageobjekt für die Hintergrundgrafik 10.file = typo3_box*.jpg //Die Hintergrundgrafik als Ressource dem Template angefügt 20 = TEXT //Das Textobjekt mit dem Datum 20 { text.data = date:U //Datum als Unix-Zeitstempel text.strftime = %A, %d.%b. %y //Umwandlung des UnixZeitstempels offset = 30,100 //Positionierung des Textes fontColor = #FF9900 //Farbe des Textes } } }
Achtung Bedenken Sie den Caching-Mechanismus von TYPO3 . Seiten und auch Grafiken werden im TYPO3-Cache abgelegt. Wenn Sie solche Grafiken generieren, müssen Sie den Cache täglich leeren, sonst wird die Grafik aus dem Cache mit einem nicht aktuellen Datum verwendet. Den Verfall des Caches können Sie im Seiten-Header einstellen. Rufen Sie dazu die weiteren Optionen des Seitentitels auf, oder aktivieren Sie die zweite Optionspalette am Ende der Seite, wenn Sie den Seiten-Header zur Bearbeitung geöffnet haben.
153
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.6: Das Resultat des grafischen Datums
4.1.10
Verschiedene Formatierungen von internen und externen Links
Im Wesentlichen gibt es zwei unterschiedliche Arten von Links: Zum einen Links, die auf Internetseiten verweisen und dann Links, die auf E-Mail-Adressen verweisen. Um diese unterschiedlichen Links auch unterschiedlich für den Besucher auszuzeichnen, können Sie sich eine kleine Erweiterung installieren. Die Extension heißt Different Linklayout und wurde von Dirk Hoffmann geschrieben. Der Extension Key (über den TYPO3-Erweiterungen am besten zu finden sind) lautet hier dh_linklayout. Wechseln Sie einfach in das Modul EXT Manager und rufen Sie den Punkt IMPORT im Menü auf. Im Feld LOOK UP geben Sie den Extension Key ein. Da die Erweiterungen einen eindeutigen Extension Key haben, wird ein Treffer mit der besagten Erweiterung angezeigt, die Sie nun installieren müssen. EXTENSION FROM ONLINE REPOSITORY
154
Sandini Bib
4.1 Zum Einsatz von TypoScript
Abbildung 4.7: Installieren Sie die Erweiterung Different Linklayout über den EXT Manager Bei der Installation der Erweiterung werden automatisch kleine Icons im System abgelegt, mit denen die Links ausgezeichnet werden. Sie werden feststellen, dass die Erweiterung sogar zwischen internen und externen Links unterscheidet.
Abbildung 4.8: Die externen Links und E-Mail-Adressen werden mit einem kleinen Symbol gesondert gekennzeichnet Die Erweiterung können Sie bequem über den Constant Editor im Template-Modul anpassen. Hier lassen sich auch die kleinen Icons austauschen und spezielle Style Sheet-Klassen für die unterschiedlichen Link-Typen setzen.
155
Sandini Bib
4 Templates unter TYPO3
Wechseln Sie zum Anpassen der Extension in das Template-Modul und rufen Sie über das Menü am rechten oberen Rand den Constant Editor auf. Im Constant Editor müssen Sie bei CATEGORY noch die korrekte Erweiterung auswählen. In diesen Fall ist das PLUGIN.TX_DHLINKLAYOUT.
Abbildung 4.9: Neben den Symbolen für die Link-Typen können Sie mit den Eigenschaften wrap und class die Links weiter formatieren
156
Sandini Bib
4.1 Zum Einsatz von TypoScript
Sie erhalten dann eine Liste von Eigenschaften, die Sie anpassen können. Für die externen Links und E-Mail-Verknüpfungen können Sie ein individuelles Symbol einstellen. Auch für interne Links lässt sich ein Symbol anfügen, welches standardmäßig nicht vorhanden ist. Außerdem können die Symbole durch die Eigenschaft WRAP angepasst werden und für die eigentlichen Links können separate Cascading Style Sheet-Klassen gesetzt werden, sodass sich die Links über eine Style Sheet-Datei weiter formatieren lassen.
4.1.11
Inhalte von den Inhaltsspalten LEFT, RIGHT und BORDER verwenden
Die Inhalte aus der Inhaltsspalte NORMAL weisen Sie Ihrem Marker oder Subpart wie folgt zu: page.10.subparts.CONTENT < styles.content.get
Ähnlich funktioniert das auch mit den anderen drei Inhaltsspalten. Sie sollten dann aber jeweils einen Subpart oder Marker im Template angelegt haben, denen die einzelnen Inhaltsspalten zugewiesen werden können. page.10.subparts.CONTENT_LEFT < styles.content.getLeft page.10.subparts.CONTENT_RIGHT < styles.content.getRight page.10.subparts.CONTENT_BORDER < styles.content.getBorder
Um die Inhaltsspalten auf diese Weise den Subparts oder Markern zuweisen zu können, muss das statische Template CONTENT (DEFAULT) Ihrem Template hinzugefügt sein. Über das Template-Modul können Sie das TypoScript des Templates CONTENT (DEFAULT) aufrufen. Dort finden Sie den Code, der den Inhalt aus den Inhaltsspalten generiert. styles.content.get = CONTENT styles.content.get { table = tt_content select.orderBy = sorting select.where = colPos=0 select.languageField = sys_language_uid }
Bei den übrigen Inhaltsspalten wird nur styles.content.get vererbt und anschließend die Eigenschaft colPos verändert. Die Nummern stehen für die jeweiligen Inhaltsspalten.
157
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.10: content (default) generiert die grundlegenden Inhalte aus der Datenbank colPos
Inhaltsspalte
0
NORMAL
1
LEFT
2
RIGHT
3
BORDER
Tabelle 4.6: Die colPos Nummern stehen jeweils für eine Inhaltsspalte
158
Sandini Bib
4.1 Zum Einsatz von TypoScript
4.1.12
Neue Websites basierend auf Standard-Templates erstellen
In TYPO3 erzeugen Sie einen funktionierenden Internetauftritt am schnellsten, indem Sie eines der mitgelieferten Templates verwenden. Um eines dieser Templates verwenden zu können, benötigen Sie lediglich eine Seite. Auf dieser Seite darf noch kein Datensatz vom Typ Template vorhanden sein. Außerdem sollte die Seite die erste im Seitenbaum sein und selber keine Unterseite von anderen Seiten sein. Wechseln Sie jetzt in das Template-Modul und rufen dann im Seitenbaum die Seite auf. Wenn Sie die Ansicht CONSTANT EDITOR oder INFO/MODIFY aufgerufen haben, müssen Sie im Hauptbereich im Pulldown-Menü eines der in TYPO3 integrierten Templates aufrufen.
Abbildung 4.11: TYPO3 beinhaltet zwölf Templates, die leicht zu integrieren sind Wenn Sie das Template ausgesucht haben, klicken Sie auf die Schaltfläche CREATE Nach Bestätigung des Warnhinweises ist das Template bereits fertig und die Seite kann aufgerufen werden. TEMPLATE FOR A NEW SITE.
Die Templates sind keine kompletten Designvorlagen und sollten als Strukturvorlage dienen. Die Templates veranschaulichen unterschiedliche Navigationskonzepte und Techniken zum Erstellen von text- und grafikbasierten Menüs.
159
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.12: Das Template BUG besteht aus einer Frame-Struktur mit einer grafischen Hauptnavigation und einer textbasierten Unternavigation. Die Hauptnavigation befindet sich in einem Frame neben dem Inhalt und die Unternavigation über dem Inhalt.
160
Sandini Bib
4.1 Zum Einsatz von TypoScript
Abbildung 4.13: Das Template MM besteht aus einer grafischen Navigation und einem Layout, das wahlweise über ein oder zwei Inhaltsspalten verfügt
Abbildung 4.14: Das Template BUSINESS verfügt über eine textbasierte Navigation
161
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.15: Das Template CANDIDATE verfügt über eine textbasierte Navigation und zwei Inhaltsspalten
Abbildung 4.16: Das Template CrCPH verfügt über eine textbasierte Navigation und deren Subnavigation. Haupt- und Subnavigation sind hier links und rechts vom Inhaltsbereich platziert
162
Sandini Bib
4.1 Zum Einsatz von TypoScript
Abbildung 4.17: Das Template FIRST basiert auf einem Frameset mit einer grafischen Navigation und zwei Inhaltsbereichen
Abbildung 4.18: Das Template GLUECK ist ähnlich aufgebaut wie CrCPH mit zwei Textnavigationen und einem Inhaltsbereich
163
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.19: Das Template GREEN besteht aus einer grafischen Hauptnavigation mit einer textbasierten Subnavigation, die durch ein JavaScript bei Überfahren der Hauptmenüpunkte ausklappt
Abbildung 4.20: Das Template HYPER ist ähnlich wie das Template GREEN aufgebaut, nur das sowohl Haupt- als auch Unternavigation aus Grafiken bestehen
164
Sandini Bib
4.1 Zum Einsatz von TypoScript
Abbildung 4.21: Das Template NEWSLETTER ist zum Verschicken von Newslettern gedacht. Das Template verfügt über keine Navigation. Inhalte können auf zwei Inhaltsspalten verteilt werden und HTML-Vorlagen sowie CSS-Dateien sind eingebunden und können bearbeitet werden
Abbildung 4.22: Das Template RE besteht aus einem dreiteiligen Frameset und zwei grafischen Navigationen, über und links neben dem Inhaltsbereich
165
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.23: Das Template TU besteht aus einer grafischen Navigation über zwei Ebenen
4.1.13
Standard-Templates bearbeiten
Die Standard-Templates lassen sich sehr einfach anpassen. Wir wollen dazu beispielhaft das Template MM beschreiben. Das Verfahren bei den anderen Templates ist ähnlich. Wenn Sie Ihre Seite angelegt und das Template wie im letzten Tipp beschrieben auf der Seite platziert haben, können Sie ein paar Unterseiten zum Prüfen der Navigation und Inhaltselemente anlegen. Rufen Sie eine der Seiten auf und Sie werden feststellen, dass der Inhaltsbereich relativ schmal ist und noch keine Navigation vorhanden ist. Um dies zu korrigieren, wechseln Sie in das Template-Modul und rufen die Seite im Seitenbaum auf, auf der sich das Template befindet. Im Hauptfenster rufen Sie dann den Constant Editor auf. Im Constant Editor werden alle Einstellungen, die der Autor dieses Static Templates zur Verfügung stellt, für das Template vorgenommen. Ein Bild in dem die meisten Einstellungen gekennzeichnet sind, finden Sie, wenn Sie bis ganz ans Seitenende scrollen. Über die Einstellung ENABLE RIGHT COLUMN aktivieren Sie die zweite Inhaltsspalte. Dann benötigen Sie noch zwei Grafiken. Eine etwas breitere, ca. 600 Pixel breit, auf die die Navigation aufgetragen wird. Die zweite Spalte ist für den Header der rechten zusätzlichen Inhaltsspalte. Die breitere Grafik stellen Sie über den Punkt MENU IMAGEMAP IMAGE ein und unter Punkt acht RIGHT COLUMN IMAGE stellen Sie die Header-Grafik für den rechten Bereich ein.
166
Sandini Bib
4.1 Zum Einsatz von TypoScript
Markieren Sie also die drei Kästchen der genannten Eigenschaften und klicken Sie am Seitenanfang oder Seitenende auf die Schaltfläche UPDATE. Jetzt erhalten Sie Felder, über die die Grafiken übertragen werden können.
Abbildung 4.24: Bevor die Felder zum Übertragen der Grafiken erscheinen, müssen die Kästchen aktiviert und das Formular über die Schaltfläche Update neu geladen werden Wenn Sie jetzt Ihre Seite erneut aufrufen, sieht sie schon ganz anders aus. Die Navigation wird auf die Grafik, die unter MENU IMAGEMAP IMAGE angegeben ist, aufgetragen. Um die Position anzupassen, wechseln Sie jetzt im Constant Editor in CATEGORY MENU. Dort können Sie TEXT OFFSET, der voreingestellt ist mit 7,68, anpassen. Die Werte stehen dabei für den Abstand von der oberen linken Ecke der Grafik. Der erste Wert für den horizontalen und der zweite Wert für den vertikalen Abstand. Das wird Ihnen aber auch mit einer Grafik am Seitenende veranschaulicht. Passen Sie diese Werte an, um die Navigation auf der Hintergrundgrafik zu platzieren. Über CATEGORY RIGHT können Sie die rechte Inhaltsspalte konfigurieren. Auch hier veranschaulicht eine Grafik am Seitenende die Einstellungsmöglichkeiten. Um in dieser Spalte jeweils den Inhalt aus der Spalte RAND anzeigen zu lassen, muss das Häkchen COLUMN CONTENT zunächst gesetzt werden. Dann müssen Sie einmal auf die Schaltfläche UPDATE klicken, um das Formular neu zu laden. Jetzt können Sie mit der Einstellung GETBORDER den Inhalt aus der Spalte RAND einfügen. Alternativ können in der rechten Spalte News platziert werden, die dann auf jeder Seite identisch sind. Mit den zwei Grafiken und der Aktivierung der rechten Inhaltsspalte kann in kürzester Zeit ein ansehnliches Ergebnis erzielt werden. Dieses Vorgehen funktioniert auch bei allen anderen Standard-Templates. Die Einstellungsmöglichkeiten variieren von Template zu Template. Teilweise sind auch unter-
167
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.25: Beim Template MM haben wir lediglich die beiden Grafiken eingebunden und die rechte Spalte aktiviert schiedliche Kategorien vorhanden. Alle Templates werden im Constant Editor am Seitenende mit einer Grafik bebildert. Dort sind die meisten Optionen visuell gut erklärt.
4.1.14
Upload und Benutzung von Ressourcen in Template Records
Sie können Ihre HTML-Templates und andere Ressourcen wie CSS-Dateien oder Grafiken über das Dateiliste-Modul übertragen. Das hat aber leider zur Folge, dass die Dateien nur unter Nennung des kompletten Pfades, angefangen beim Verzeichnis fileadmin in das TypoScript-Template eingebunden werden können. Eine Style Sheet-Datei müsste dann wie folgt eingebunden werden: page.stylesheet = fileadmin/templates/cms-typo3/css/main.css
Bei der HTML-Vorlage würde das ähnlich aussehen. page.10 = TEMPLATE page.10 { template = FILE template.file = fileadmin/templates/cms-typo3/main_template.html }
168
Sandini Bib
4.1 Zum Einsatz von TypoScript
Sehr viel eleganter ist es, wenn Sie diese Dateien als Ressourcen in das Template einbinden. Um Dateien als Ressourcen in ein Template einzubinden, müssen die Dateien auf dem lokalen Computer vorhanden sein. Im Template-Modul unter der INFO/MODIFYANSICHT sehen Sie den Punkt RESOURCES. Über das Stift-Symbol können Sie die Ressourcen des Templates bearbeiten. Klicken Sie auf die Schaltfläche DURCHSUCHEN und wählen die Datei auf Ihrem lokalen Computer aus. Klicken Sie anschließend auf die Schaltfläche UPDATE und wiederholen diesen Arbeitsablauf für jede Datei, die Sie Ihrem Template als Ressource hinzufügen möchten. Diese Ressourcen können dann ohne Pfadangeben im Template eingebunden werden. page.stylesheet = main.css
Außer dass Sie es sich ersparen, den Pfad anzugeben, gibt es noch einen weiteren großen Vorteil. TYPO3 überschreibt grundsätzlich keine Dateien, wenn bereits eine mit identischem Namen vorhanden ist, außer man zwingt TYPO3 zum Überschreiben. Ist eine Datei mit gleichem Namen bereits vorhanden, wird beim Upload die neu übertragene mit einem Index versehen. Wenn Sie also die Style Sheet-Datei auf Ihrem lokalen Computer bearbeiten und an gleicher Stelle erneut übertragen, dann benennt TYPO3 die Datei main.css in main_01.css um. Wenn Sie die Style Sheet-Datei nun mit einem Sternchen * zwischen Dateinamen und dem Punkt vor der Dateiendung in Ihr Template einbinden, wird automatisch immer die aktuellste Version eingebunden. page.stylesheet = main*.css
Auf diese Weise können Sie immer die Änderungen am Template im Auge behalten und durch Umsortieren eine beliebigere ältere Version wieder aktivieren. Es wird nämlich immer die Ressource mit gleichem Namen in das Template eingebunden, die vor allen anderen mit gleichem Namen steht. Einzige Voraussetzung, Sie haben die Ressource mit dem Sternchen eingebunden.
4.1.15
Den Seiten-/Untertitel im Template hinzufügen
Um den Seitentitel auf der Seite anzuzeigen, müssen Sie als Erstes einen Marker, einen Subpart oder ein numerisches Objekt vorbereiten, das für die Anzeige des Titels verantwortlich ist. Diesem Platzhalter weisen Sie dann das Objekt TEXT zu. page.10.subparts { TITLE = TEXT TITLE.value = {page:subtitle} TITLE.insertData = 1 TITLE.wrap =
|
}
169
Sandini Bib
4 Templates unter TYPO3
Abbildung 4.26: Über die Template-Ressourcen lassen sich HTML, CSS und auch Grafiken optimal verwalten Eine alternative Lösung ist, die Eigenschaft field zu verwenden. Das TypoScript würde dann wie folgt aussehen: page.10.subparts.SUBTITLE.10=TEXT page.10.subparts.SUBTITLE.10 { field = subtitle wrap =
|
}
170
Sandini Bib
4.2 Layout
Um den Untertitel anzeigen zu lassen, ist die zweite Lösung die bessere. In der Eigenschaft field können Sie einfach den Untertitel vor den Titel stellen und diese durch zwei Schrägstriche trennen. Die Titel werden beginnend beim ersten Titel abgearbeitet. Ist der erste Titel ohne Inhalt, wird der nächste angezeigt. Das folgende TypoScript gibt also den Untertitel aus, wenn vorhanden. Ist kein Untertitel vorhanden, wird der Seitentitel ausgegeben. page.10.subparts.SUBTITLE.10=TEXT page.10.subparts.SUBTITLE.10 { field = subtitle//title wrap =
|
}
Sie können auch noch den Navigationstitel integrieren, den Sie über den Seiten-Typ ERWEITERT einstellen können. field = nav_title//subtitle//title
4.2
Layout
4.2.1
clear.gif bei Überschriften
Hinter den Überschriften wird immer eine kleine Grafik eingefügt, die den Abstand zum Text herstellen soll. Wenn Sie Ihre Überschriften lieber mit einem Stylesheet Sheet formatieren, dann ist die Grafik meist störend. Normalerweise wird die Grafik clear.gif mit einer Höhe von fünf Pixeln hinter der Überschrift eingefügt.
Diese Grafik können Sie über die Eigenschaft content.headerSpace im Constants-Feld Ihres Templates einstellen. Sie müssen zwei Werte übergeben, die durch das PipeZeichen (der senkrechte Strich) getrennt sein müssen. Der erste Wert gibt die Höhe der Grafik an, die vor der Überschrift platziert wird und der zweite Wert die Höhe der Grafik unter der Überschrift. Durch das statische Template CONTENT (DEFAULT) wird diese Eigenschaft auf 0|5 gesetzt. Wenn Sie die Grafik clear.gif komplett vor und nach der Überschrift entfernen möchten, setzen Sie WERTE auf NULL. content.headerSpace = 0|0
4.2.2
Überschriften korrekt mit Header-Tags auszeichnen
Die Überschriften werden vom Template CONTENT (DEFAULT) mit dem font-Typ formatiert. Überschriften sollten aber möglichst immer mit dem dafür vorgesehenen
171
Sandini Bib
4 Templates unter TYPO3
HTML-Tag ausgezeichnet werden. Suchmaschinen bewerten Überschriften, die auch als solche ausgezeichnet sind, höher. Das kann ein besseres Ranking in den Trefferlisten der Suchmaschinen zur Folge haben. Um nun die Überschriften mit den Tags
bis
für die entsprechenden Überschrift-Typen auszuzeichnen, müssen Sie folgendes TypoScript in das Contants-Feld Ihres Templates schreiben. content { defaultHeaderType = wrap.header = | wrap.header1 =
wrap.header2 =
wrap.header3 =
wrap.header4 =
}
1 | | | |
Mit der Eigenschaft defaultHeaderType stellen Sie den Überschrift-Typen ein, der als Typ NORMAL verwendet werden soll. Die Eigenschaften header1 bis header4 sind die entsprechenden Layouts, die bei den erweiterten Optionen der Überschrift eingestellt werden können.
Abbildung 4.27: Die Typen, die zur Formatierung der Überschrift zur Verfügung stehen, können über die zweite Optionspalette angezeigt werden Das Layout 5 beim Typ der Überschrift ist eine grafische Überschrift und braucht daher nicht mit Textauszeichnungen versehen zu werden.
4.2.3
Auf jeder Seite ein anderes Bild
Wenn Sie Ihren Redakteuren die Möglichkeit bieten möchten, auf jeder Seite den Kopf austauschen zu können, zum Beispiel die Kopfgrafik, dann lässt sich das über das Feld DATEIEN der Seiten vom Typ ERWEITERT realisieren. Über dieses Feld können der Seite Dateien zugewiesen werden. In diesem Fall also eine Grafik. Der Typ der Seite muss aber auf ERWEITERT eingestellt werden, damit auf dieses Feld zugegriffen werden kann.
172
Sandini Bib
4.2 Layout
Abbildung 4.28: Das Feld Datei erscheint nur bei Seiten vom Typ Erweitert Jetzt benötigen Sie in Ihrem Template einen Marker, einen Subpart oder ein numerisches Objekt, dem später die Grafik zugewiesen werden kann. In unserem Beispiel verwenden wir einen Subpart, der logo_top heißt. Diesem Subpart wird ein IMAGEObjekt zugewiesen. Jetzt können Sie noch ein paar allgemeine Einstellungen für das Image vornehmen. In unserem Beispiel begrenzen wir die Breite der Grafik auf maximal zweihundert Pixel, da die Grafik sonst unser Layout sprengen würde. subparts.logo_top = IMAGE subparts.logo_top { file.maxW = 200 }
Über die Eigenschaft file muss jetzt die Grafik zugewiesen werden. Normalerweise wird der Eigenschaft ein Dateiname zugewiesen. In diesem Beispiel wollen wir aber die Grafik aus dem Datei-Feld der jeweiligen Seite verwenden. Dies wird über die Eigenschaft import realisiert. file.import { cObject = TEXT cObject.value = logo_grau*.gif cObject.override { required = 1 data = levelmedia: -1, "slide" wrap = uploads/media/ | listNum = 0 } }
Die Grafik, die dem cObjekt über die Eigenschaft value übergeben wird, muss als Ressource in das Template integriert sein. Ist die Grafik nicht integriert, muss der komplette Pfad, angefangen beim Verzeichnis FILEADMIN, mit angegeben werden. Diese Grafik ist die Ausgangsgrafik, falls keine Grafik über das Datei-Feld der Seite zugewiesen wurde. Im Folgenden wird diese Ausgangsgrafik überschrieben mit der Grafik aus dem Datei-Feld. In der Eigenschaft data wird außerdem festgelegt, das, wenn keine Grafik der Seite zugewiesen wurde, die Grafik von der übergeordneten Seite verwendet wird.
173
Sandini Bib
4 Templates unter TYPO3
Die Eigenschaft listNum legt fest, welche Datei aus dem Feld DATEI verwendet werden soll. Das ist besonders wichtig, wenn Sie mehrere Dateien der Seite über das Feld DATEI zugewiesen haben. listNum = 0 bedeutet hier, dass die erste Datei importiert wird. Das komplette TypoScript muss in das Setup-Feld und sieht dann wie folgt aus: page.10.subparts.logo_top = IMAGE page.10.subparts.logo_top { file.maxW = 200 file.import.cObject = TEXT file.import.cObject.value = logo_grau*.gif file.import.cObject.override { required = 1 data = levelmedia: -1, "slide" wrap = uploads/media/ | listNum = 0 } }
4.2.4
Accesskeys
Accesskeys – oder auch Tastaturkürzel – sind insbesondere für Menschen mit einer Sehbehinderung oder mit motorischen Störungen wichtig, da sie eine Maus nicht oder nur bedingt einsetzen können. Sie sind auf die Tastatur oder alternative Eingabegeräte angewiesen. Es profitieren aber auch alle anderen, die lieber mit der Tastatur als mit der Maus arbeiten. Um Accesskeys in Ihre Textnavigation zu integrieren, installieren Sie die Erweiterung gov textmenu. Die Erweiterung ergänzt die Tabelle mit den TYPO3-Seiten um zwei Felder, dem Tabindex und dem Accesskey.
Abbildung 4.29: Die Datenbankerweiterung bei der Installation der Erweiterung
174
Sandini Bib
4.2 Layout
Beim TABLEINDEX wird die Tabulator-Reihenfolge für Verweise festgelegt. Modernere Browser erlauben es, mithilfe der (ÿ_)-Taste nacheinander die Verweise einer HTML-Datei anzuspringen. Der Verweis muss anschließend mit der (Enter)-Taste aufgerufen werden. Normalerweise werden die Verweise dabei in der Reihenfolge angesprungen, in der sie in der Datei definiert sind. Sie können in HTML jedoch eine andere Reihenfolge festlegen. Diese Reihenfolge legen Sie durch das Feld TABINDEX fest. Im Feld ACCESSKEY legen Sie den eigentlichen Accesskey fest. Geben Sie hier nur die Nummer oder den Buchstaben an. Die Seiten können dann je nach System und Browser aufgerufen werden. Betriebssystem
Browser
Tastenkombination
Windows
Internet Explorer
(Alt)+(Key)+(Enter)
Windows
Mozilla/Netscape
(Alt)+(Key)
Windows
Opera
(ª)+(Esc)+(Key)
Macintosh
Internet Explorer
(Ctrl)+(Key)+(Enter)
Macintosh
Safari
(Ctrl)+(Key)
Macintosh
Mozilla/Netscape
(Ctrl)+(Key)
Macintosh
Opera
(ª)+(Esc)+(Key)
Linux Mandrake
Galeon/Mozilla
(Alt)+(Key)
Alle Betriebssysteme
Amaya
(Ctrl)+(Key)
Tabelle 4.7: Eingabe von Accesskeys Bevor die Acceskeys aber in die Navigation eingebunden werden, sind noch ein paar Änderungen an Ihrer Navigation notwendig. Die Eigenschaft noBlur des TMENU muss auf eins gesetzt werden, damit die Accesskeys auch im Internet Explorer funktionieren. Im NO-Objekt der Navigation müssen Sie jetzt noch über die Eigenschaften tabIndex und accessKey die beiden Funktionen aktivieren. Über die Eigenschaft ATagTitle können Sie im A HREF noch das title-Attribut setzen. page.10.subparts.MAIN_MENU = HMENU page.10.subparts.MAIN_MENU.1 = TMENU page.10.subparts.MAIN_MENU.1.noBlur = 1 page.10.subparts.MAIN_MENU.1.NO { tabIndex=1 accessKey=1 accessKeyWrap = | ATagTitle.cObject = TEXT ATagTitle.cObject.value =AccessKey: ATagTitle.cObject.dataWrap = {field:title}-| }
175
Sandini Bib
4 Templates unter TYPO3
page.10.subparts.MAIN_MENU.1.wrap =
|
page.10.subparts.MAIN_MENU.1.NO.linkWrap =
|
Im Frontend wird mit dem TypoScript dann folgender HTML-Code generiert:
Wenn Sie die Tabulator-Reihenfolge über das Feld TABINDEX festlegen, erscheint im HTML-Code auch noch das tabindex-Attribut im A HREF.
4.3
Inhalte verschieden ausgeben
4.3.1
PDF-Ausgabe
Um dynamische PDF-Dokumente generieren zu können, benötigen Sie ein Programm, das serverseitig die PDF-Dokumente generiert. Dafür gibt es mehrere Lösungen. In diesem Tipp wollen wir die Erweiterung PDF Generator beschreiben, die auf das Open Source-Tool HTMLDOC aufsetzt. Sie müssen zuerst das Programm HTMLDOC auf Ihrem Server installieren. Anleitungen dazu finden Sie auf der Internetseite: http://www.htmldoc.org/ Bei einem Linux-System kann HTMLDOC durch Installation mit dem Paketmanagement leicht installiert werden. apt-get install htmldoc
Auch RedHat-Pakete sind verfügbar. Des Weiteren müssen Sie die TYPO3-Erweiterung PDF Generator mit dem Extension Key pdf_generator installieren. Die Erweiterung installieren Sie am einfachsten über den EXT Manager.
176
Sandini Bib
4.3 Inhalte verschieden ausgeben
Wechseln Sie über das Menü im EXT Manager auf IMPORT EXTENSIONS FROM ONLINE REPOSITORY, um von dort die Erweiterung zu laden. Geben Sie im LOOK UP-FELD den Extension Key ein. Anschließend bekommen Sie die Erweiterung angezeigt und können diese herunterladen. Wenn die Erweiterung übertragen ist, installieren Sie sie. Bei der Installation können Sie die Erweiterung konfigurieren. Bei der Konfiguration muss der Pfad zum Programm HTMLDOC angegeben und einige globale Parameter von HTMLDOC eingestellt werden. Bei TYPE ID geben Sie eine Nummer an, die über den Parameter type beim Aufruf der Seite übergeben werden muss, um die PDF statt der HTML-Version zu erzeugen.
Abbildung 4.30: Die Konfiguration erscheint nach der Installation der Erweiterung, kann aber auch später noch über den EXT Manager aufgerufen werden
177
Sandini Bib
4 Templates unter TYPO3
Wenn Sie die Erweiterung und das Programm HTMLDOC installiert haben, können Sie mit einem ersten Test die Funktion testen. Dazu benötigen Sie eine HTML-Datei, die in eine PDF umgewandelt wird. HTMLDOC Test HTMLDOC Test
Jetzt müssen Sie auf Ihrer Server-Konsole in das Verzeichnis wechseln, in dem sich das HTML-Dokument befindet. In dem Verzeichnis rufen Sie jetzt HTMLDOC von der Shell aus auf. /usr/bin/htmldoc --webpage -f htmldoc.pdf htmldoc.html
Bei diesem Beispiel befindet sich das Programm HTMLDOC im Verzeichnis /usr/bin/. Aus der Datei htmldoc.html wird dann die PDF htmldoc.pdf generiert. Auf der Shell erhalten Sie dann folgende Meldung: PAGES: 1 BYTES: 3012 You have new mail in /var/mail/root
Wenn Sie den Inhalt des aktuellen Verzeichnisses listen lassen, werden Sie auch die PDF htmldoc.pdf finden. Somit funktioniert HTMLDOC korrekt und Sie können den Aufruf in TYPO3 integrieren. Wenn die eingangs genannte Erweiterung installiert ist, können Sie jetzt mit wenigen Zeilen TypoScript einen Link in Ihr Template integrieren, das den Aufruf der PDFVersion erzeugt. Die Erweiterung PDF Generator stellt mehrere Möglichkeiten zur Verfügung. Wir wollen hier nur kurz eine vorstellen, bei der ein Icon verwendet wird, das mit dem PDF-Aufruf verknüpft ist. temp.pdf_link = IMAGE temp.pdf_link.file = pdf_icon*.jpg temp.pdf_link.stdWrap.postUserFunc = tx_pdfgenerator->makePdfLink
In diesem Fall haben wir ein temporäres Objekt verwendet und die Grafik dem Template als Ressource hinzugefügt. Das temporäre Objekt, hier temp.pdf_link, müssen Sie dann noch einem Marker, einem Subpart oder einem numerischen Objekt zuweisen. page.10.subparts.pdf_version < temp.pdf_link
178
Sandini Bib
4.3 Inhalte verschieden ausgeben
Abbildung 4.31: Oben rechts zwischen der Suche und dem Login sehen Sie das PDF-Symbol, über das die Seite als PDF aufgerufen werden kann
Abbildung 4.32: In diesem Beispiel wird der Acrobat Reader im Browser geladen und die PDF-Version direkt aufgerufen
179
Sandini Bib
4 Templates unter TYPO3
Der Aufruf des PDF-Dokumentes und die Formatierung lassen sich mit einer Vielzahl von Parametern und Eigenschaften anpassen. In der Online-Dokumentation finden Sie mehrere Beispiele zum Einbinden des PDFAufrufes in Ihr Template und die kompletten Konfigurationsmöglichkeiten. Die Online-Dokumentation zu dieser Erweiterung finden Sie unter der folgenden URL: http://typo3.org/extensions/repository/search/pdf_generator/
4.3.2
Ausgabe von Webseiten für Drucker optimiert
HTML-Seiten lassen sich meist nicht gut auf einem Drucker ausgeben. Je nachdem wie die HTML-Seiten layoutet sind, können Inhalte über die Seitenbegrenzung des Druckformates, meist A4, herausragen. Sie können aber durch eine spezielle Ausgabe Ihrer Inhalte diese für den Druck optimieren. Die Erweiterung Make Print Link von Jens Ellerbrock, der auch die PDFErweiterung aus dem vorangegangenen Tipp programmiert hat, erleichtert Ihnen die Arbeit. Die Erweiterung müssen Sie über den EXT Manager installieren. Die Erweiterung stellt mehrere Möglichkeiten zur Verfügung, den Link zur Druckversion Ihres Inhaltes zu generieren. Eine Möglichkeit zeigt das folgende TypoScript, das voraussetzt, dass Sie ein Icon mit dem Template als Ressource angeführt haben. Dieses Icon wird dann mit einem speziellen Link versehen, der die Druckversion aufruft. temp.print_link = IMAGE temp.print_link.file = print_icon*.gif temp.print_link.stdWrap.postUserFunc = tx_make_printlink
Das temporäre Objekt temp.print_link müssen Sie jetzt einem Marker, einem Subpart oder einem numerischen Objekt in Ihrem Template zuweisen. page.10.subparts.druck_version < temp.print_link
Wenn Sie jetzt die Seite aufrufen und den Link anklicken, wird eine Fehlermeldung erscheinen. Der Seitenaufruf der Druckversion sieht wie folgt aus: http://www.IhreDomain.de/index.php?id=1&type=98
Die Zahl hinter der ID ist die Seiten-ID und die Zahl hinter type ist das Template mit der typeNum, in diesem Fall, 98. Für die Druckversion wird also ein spezielles Template benötigt.
180
Sandini Bib
4.3 Inhalte verschieden ausgeben
Abbildung 4.33: Das Template der Druckversion ist noch nicht eingerichtet Dieses Template können Sie sich manuell selber anlegen. Eine Basisversion, die lediglich den Inhalt aus der Spalte NORMAL ausgibt, sieht wie folgt aus: print_page = PAGE print_page { typeNum = 98 10 = TEXT 10.value = Dies ist die für den Druck optimierte Version 20 = CONTENT 20 < styles.content.get }
Alternativ können Sie aber auch das STATIC TEMPLATE PLUGIN.ALT.PRINT (98) Ihrem Template zuweisen. Dieses Template übernimmt die komplette Formatierung der Druckausgabe.
Abbildung 4.34: Bevor Sie das Template selber für die Druckausgabe programmieren, probieren Sie das Template plugin.alt.print (98) einmal aus
4.3.3
Weitere Ausgabeformate
Ihnen ist bei den letzten Tipps sicherlich die andere alternative Template-Variante aufgefallen. Um diese nutzen zu können, binden Sie das gewünschte Template einfach in Ihr Template ein, indem Sie es durch Anklicken in das Feld INCLUDE STATIC
181
Sandini Bib
4 Templates unter TYPO3
einfügen. Die alternativen Ausgabeversionen können dann einfach aufgerufen werden, indem Sie beim Seitenaufruf die Nummer des Templates über die Variable type übergeben. Die Plain Text-Version können Sie also wie folgt aufrufen: http://www.IhreDomain.de/index.php?id=1&type=99
Um nun einen Link auf Ihrer Standard-Seite vom type=0 zur alternativen Ausgabe zu generieren, wurden in den letzten Tipps spezielle Methoden verwendet, die in den Erweiterungen implementiert sind. Diese Links lassen sich aber auch sehr einfach mit ein paar wenigen Zeilen TypoScript selber generieren. Wie immer benötigen Sie in Ihrem Template einen Marker, Subpart oder ein numerisches Objekt, über welches der Link platziert wird. Eine einfacher Text-Link, der die PDA-Version Ihrer Seite aufruft, würde folgendermaßen generiert. page.10.marks{ PDA_VERSION = TEXT PDA_VERSION.field = uid PDA_VERSION.wrap = PDA Version }
Die Zeile field = uid generiert die ID der aktuell aufgerufenen Seite. Diese Nummer wird dann mit dem wrap in den Link mit der alternativen Ausgabe integriert. Auf diese Weise können Sie auch einen Link zu allen anderen Ausgabe-Versionen generieren.
182
Sandini Bib
5
Navigationen
Herzstück eines jeden Content Management-Systems ist die automatische Erzeugung der Navigation in Abhängigkeit von der Seitenstruktur und der dynamischen Generierung von Bildern. Dieses Kapitel soll Ihnen die unterschiedlichen Menüvarianten für Navigationen veranschaulichen und rund um die diversen Konfigurationsmöglichkeiten kleine Hilfen sowie Tipps und Tricks zur Umsetzung Ihrer Vorstellungen einer individuellen Navigation in die Realität liefern.
5.1
HMENU
Das HMENU-Objekt ist die Mutter aller Menüs. Über dieses Objekt werden strukturelle Einstellungen vorgenommen. Im HMENU stellen Sie ein, wie viele Ebenen die Navigation haben soll, ab wo die Navigation beginnen und wie umfangreich die Navigation sein soll.
5.1.1
Navigationszustände aktivieren
Über das HMENU wird die Navigationsstruktur festgelegt. Mit nur drei Zeilen TypoScript lässt sich bereits eine Grundnavigation erzeugen. temp.navigation = HMENU temp. navigation.1 = TMENU temp. navigation.1.NO = 1
Der Zustand NO ist der Basiszustand eines Menüpunktes. Wenn von diesem Zustand keine Eigenschaften gesetzt sind, muss auch dieser Zustand wie in der dritten Zeile aktiviert werden. Beim Setzen von Eigenschaften aktiviert sich dieser Zustand automatisch, anders als alle anderen Zustände, wie zum Beispiel der Rollover-Zustand RO, die immer aktiviert werden müssen. temp.navigation = HMENU temp. navigation.1 = TMENU temp. navigation.1.NO.linkWrap = | // jetzt braucht NO nicht mehr aktiviert zu werden
Sandini Bib
5 Navigationen
5.1.2
Hauptnavigation durch Unternavigation erweitern
Um innerhalb der Hauptnavigation die Unternavigation angezeigt zu bekommen, muss das nächste Menü-Objekt aktiviert werden. Wenn also die Hauptnavigation mit dem TypoScript temp.navigation = HMENU temp. navigation.1 = TMENU
generiert wird, dann wird die Unternavigation mit temp. navigation.2= TMENU
erzeugt. Das hat zur Folge, dass die Hauptnavigation bis zu dem Menüpunkt erzeugt wird, der aufgerufen wurde. Dann folgt die Unternavigation des Menüpunktes und der Rest der Hauptnavigation. Diese Navigation ändert sich also je nachdem, welche Seite der Hauptnavigation aufgerufen wurde. Mit der Eigenschaft expAll = 1 kann die Unternavigation aller Hauptseiten aber auch permanent angezeigt werden.
Abbildung 5.1: angezeigt
184
Ist die Eigenschaft expAll auf eins gesetzt, werden alle Unternavigationen
Sandini Bib
5.1 HMENU
Abbildung 5.2: Ist die Eigenschaft expAll nicht auf eins gesetzt, erscheint immer nur die komplette Navigation des aufgerufenen Navigationszweiges Durch das HTML-Tag blockquote wurde die Unternavigation in diesem Beispiel noch etwas eingerückt, um diese besser von der Hauptnavigation zu trennen. temp.navigation = HMENU temp.navigation.1 = TMENU temp.navigation.1.wrap =
Um die Unternavigation von der Hauptnavigation abkoppeln zu können, muss die Eigenschaft entryLevel verwendet werden. Die Hauptnavigation bleibt dabei unverändert. Die Unternavigation hingegen wird in einem separaten Objekt angelegt, genau wie auch die Hauptnavigation und kann dadurch beliebig positioniert werden. temp.subnavigation = HMENU temp.subnavigation.1 = TMENU temp.subnavigation.1.NO = 1
Jetzt wird für die Unternavigation eine Einstiegsebene festgelegt, ausgehend von der rootLine, ab der die Navigation startet. temp.subnavigation.entryLevel = 1
Abbildung 5.3: Über dem Inhalt befindet sich die Hauptnavigation. Die abgekoppelte Unternavigation wurde links neben dem Inhaltsbereich platziert Bei der Angabe des entryLevels wird die Ebene angegeben, von deren Unterseiten die Navigation erzeugt werden soll.
186
Sandini Bib
5.1 HMENU
Abbildung 5.4: Die Seite mit dem Globus-Symbol ist die rootLine Wenn eine der Hauptseiten keine Unterseiten besitzt, wird natürlich auch keine Unternavigation angezeigt. Die Eigenschaft expAll auf eins zu setzen ist hier kaum sinnvoll, da dann die kompletten Unterseiten aller Hauptnavigationspunkte gelistet werden würden und diese nicht mehr den einzelnen Hauptnavigationspunkten zugeordnet werden könnten.
5.1.4
Footer-Navigation
Eine Footer-Navigation befindet sich meist am Fuße einer jeden Seite, daher auch der Name. Die in dieser Navigation verknüpften Seiten beinhalten oft Verknüpfungen zu rechtlichen Hinweisen, Impressum und Kontaktseiten, die von jeder Seite des Internetauftrittes zu erreichen sein sollen und meist nicht in der Hauptnavigation erwünscht sind. Beispiele solcher Navigationen finden Sie auf den Seiten der großen Online-Magazine wie zum Beispiel dem Spiegel (www.spiegel.de) oder in einer etwas übersichtlicheren Variante bei Die Welt (www.welt.de). Eine solche Navigation können Sie in TYPO3 mit wenigen Handgriffen generieren. Legen Sie als Erstes eine neue Seite an, in der die Seiten der Footer-Navigation platziert werden. Damit diese Seite nicht in der normalen Navigation auftaucht, ändern Sie den Seiten-Typ auf NICHT IM MENÜ. Den Seiten-Typ können Sie einstellen, indem Sie im Seiten-Modus die Seite in der Navigationsleiste auswählen und dann in der Detailansicht auf SEITENTITEL BEARBEITEN klicken. Alternativ können Sie auch über das Kontextmenü der Seite in der Navigationsleiste durch Klicken auf SEITENTITEL BEARBEITEN den entsprechenden Befehl aufrufen.
187
Sandini Bib
5 Navigationen
Abbildung 5.5: Damit die Seite mit den Punkten der Footer-Navigation nicht in der eigentlichen Navigation auftaucht, sollte diese auf den Typ Nicht im Menü gesetzt werden Wenn der Seiten-Typ auf NICHT IM MENÜ eingestellt wird, verändert sich auch das Symbol der Seite in der Navigationsleiste. Statt des gelben wird dann ein graues Symbols angezeigt. Nun kann das Menü generiert werden, das aus den Seiten bestehen soll, die in der Seite mit der Footer-Navigation platziert sind. Zunächst wird wieder ein HMENU angelegt: temp.FOOTER_NAVI = HMENU
Das HMENU wird jetzt aber die spezielle Art directory (Directory, engl. = Verzeichnis): temp.FOOTER_NAVI.special = directory
Jetzt muss dieser Spezialform noch das Verzeichnis übergeben werden, in dem sich die Seiten befinden, aus denen die Navigation generiert werden soll. Mit der Eigenschaft value können Sie die ID der Seite übergeben, die als Verzeichnis dienen soll. Soll die Navigation aus Seiten von mehreren Verzeichnissen bestehen, trennen Sie einfach die einzelnen Verzeichnisse durch ein Komma. temp.FOOTER_NAVI.special.value = 99
Eine solche Footer-Navigation kann schon mit nur fünf Zeilen TypoScript realisiert werden. temp.FOOTER_NAVI = HMENU temp.FOOTER_NAVI.special = directory temp.FOOTER_NAVI.special.value = 99 temp.FOOTER_NAVI.1 = TMENU temp.FOOTER_NAVI.1.wrap =
188
Sandini Bib
5.1 HMENU
Abbildung 5.6: Die Footer-Navigation am Ende einer jeden Seite
5.1.5
Browse-Navigation
Mit der Browse-Navigation lässt sich ein Blättern durch die Seiten wie durch ein Buch realisieren. So kann zum Beispiel über diese Navigation zur vorherigen und nächsten Seite navigiert werden. Außerdem kann über die Browse-Navigation zur vorherigen und nächsten Sektion gesprungen werden. Navigation
Beschreibung
next/prev
Verlinkt zur nächsten und vorherigen Seite. Diese Seiten müssen dabei identische PIDs besitzen, wie die aufgerufene Seite, sie müssen also auf der gleichen Seite platziert sein. Wenn die Eigenschaft prevnextToSection gesetzt ist, kann auch zu Seiten mit anderen PIDs verlinkt werden. Dann müssen diese sich aber auf demselben Level befinden.
Tabelle 5.1: Sprungziele in der Browse-Navigation
189
Sandini Bib
5 Navigationen
Navigation
Beschreibung
nextsection/prevsection
Verlinkt zur ersten Seite der nächsten oder vorherigen Sektion. Die erste Seite der nächsten Sektion ist diejenige, die eine andere PID besitzt, sich aber auf demselben Level befindet. Die Seite befindet sich also in einem anderen Seitenzweig.
nextsection_last/prevsection_last
Hier wird zur jeweils letzten Seite der nächsten bzw. letzten Sektion verlinkt.
first/last
Verlinkt zur ersten oder letzten Seite des aktuellen Levels.
up
Verlinkt zur Elternseite, also zur Seite in der die aktuelle Seite platziert ist.
index
Verlinkt zur Index-Seite, die über die Eigenschaft index.uid angegeben werden kann.
Tabelle 5.1: Sprungziele in der Browse-Navigation (Forts.) Mit einer solchen Browse-Navigation lässt sich beispielsweise ein kleiner Stadtrundgang realisieren. Ein TypoScript Basis würde wie folgt aussehen: temp.stadtrundgang = HMENU temp.stadtrundgang { special = browse special { items = prev|next items.prevnextToSection = 1 index.fields.title = INDEX index.uid = 332 } 1 = TMENU 1.NO = 1 }
5.1.6
Breadcrumb-Navigation
Eine Breadcrumb-Navigation ist eine Navigation, die aus der jeweils übergeordneten Seite bis hinauf zur Homepage besteht. Eine solche Navigation legt eine Art »Brotkrümelspur« zur aktuellen Seite, daher der Name (breadcrumb = Brotkrümel). Diese Art von Navigation wird oft bei großen Websiteprojekten eingesetzt. So auch beim Auktionshaus eBay, wo über eine solche Navigation alle übergeordneten Kategorien angezeigt werden. Eine solche Navigation kann mit der Spezialform rootline des HMENU erzeugt werden. Über die Eigenschaft range kann der Bereich angegeben werden, über den die Navigation generiert werden soll.
190
Sandini Bib
5.1 HMENU
Abbildung 5.7: Über die Browse-Navigation kann bei dieser Site von einer Sehenswürdigkeit zur nächsten gesprungen und so ein kleiner Stadtrundgang erzeugt werden
Abbildung 5.8: Die Reihenfolge des Rundganges wird im Backend durch die Reihenfolge der Seiten festgelegt
Abbildung 5.9: Die Breadcrumb-Navigation verschafft eine optimale Übersicht, welche Seite aktuell aufgerufen ist
5.1.7
Bereichsüberschriften
Mit dem HMENU spezial= rootline lassen sich Menüs ausgehend von der Root-Seite erzeugen. Über die Eigenschaft range kann dieses Menü aber auf bestimmte Ebenen, oder auch Levels genannt, begrenzt werden. In diesem Beispiel begrenzen wir das Menü auf nur eine Ebene, die der Hauptnavigation, und platzieren das Menü, das also immer nur aus einem Menüpunkt besteht,
192
Sandini Bib
5.2 TMENU
über der Unternavigation. Resultat ist, dass immer der Menüpunkt der aufgerufenen Hauptseite angezeigt wird, auch wenn eine der Unterseiten unterhalb dieser Hauptseite aufgerufen wird. temp.bereichs_ueberschrift = HMENU temp.bereichs_ueberschrift.special = rootline temp.bereichs_ueberschrift.special.range = 1|1 temp.bereichs_ueberschrift.1 = TMENU temp.bereichs_ueberschrift.1.NO.linkWrap = |
Wenn unterhalb dieses Menüs die Unternavigation platziert wird, fungiert dieses Menü als Bereichsüberschrift.
Abbildung 5.10: Mit einer solchen Bereichsüberschrift weiß der Websitebesucher immer, in welchem Bereich er sich gerade befindet
5.2
TMENU
Sie haben das TMENU bereits in den vorangegangenen Beispielen kennen gelernt und wissen, dass das TMENU eine textbasierte Navigation zur Folge hat, daher stammt auch das T(ext) in TMENU. Wenn die Navigationsstruktur mit dem HMENU
193
Sandini Bib
5 Navigationen
festgelegt wurde, kann den einzelnen Ebenen ein MENU zugeordnet werden. Grundsätzlich lassen sich die unterschiedlichen Menüs auch mischen, sodass zum Beispiel auf der ersten Ebene eine grafische Navigation mit einer textbasierten Unternavigation erzeugt wird, oder umgekehrt.
5.2.1
Trennzeichen in Text-Menüs
Oft werden Sonderzeichen als Trennzeichen in textbasierten Menüs gewünscht. Mit der Wrap-Funktionalität von TYPO3 können beliebige Zeichen vor oder nach den Menüeinträgen eingefügt werden. Problematisch wird es nur, wenn Sie Sonderzeichen verwenden möchten. Das PipeZeichen, also der senkrechte Strich oder Klammern jeder Art, werden vom TypoScript-Interpreter als Steuerzeichen erkannt, sodass Sie nicht das erwünschte Resultat erhalten. In solchen Fällen können Sie aber die HTML-ASCII-Werte des Sonderzeichens verwenden. Das Pipe-Zeichen zum Beispiel hat den Wert 124. Jeder HTML ASCII-Wert muss mit einem kaufmännischen Und, gefolgt von einer Raute eingeleitet werden. Das Ende des Wertes muss mit einem Semikolon gekennzeichnet werden. Im TypoScript würde das dann wie folgt aussehen: allWrap = | |
Auf diese Weise wird jedem Menüpunkt ein senkrechter Strich angefügt. ASCII-Wert
Zeichen
40
(
41
)
45
-
60
<
62
>
91
[
93
]
123
{
125
}
124
|
Tabelle 5.2: Zeichen und deren ASCII-Werte, die oft für textbasierte Menüs verwendet werden
194
Sandini Bib
5.2 TMENU
Wenn Sie die senkrechten Striche lediglich zwischen den Menüpunkten haben möchten, können Sie sich der Option Split-Funktionalität bedienen. Mit dem Option Splitting kann beispielsweise zwischen dem ersten, letzten und allen anderen Menüpunkten unterschieden werden. Diese Menüpunkte werden durch einen senkrechten Strich, ein Sternchen und einen weiteren senkrechten Strich getrennt |*|. Allgemein würde das wie folgt aussehen: Erster Menüpunkt |*| mittlere Menüpunkte |*| letzter Menüpunkt Diese Unterscheidung kann nun in der Eigenschaft allWrap verwendet werden. allWrap = | |*| || |*| | |
Es ist auch ein etwas anderes Option Splitting möglich, das in einer etwas verkürzten Version notiert wird: allWrap = |*||||*||
In diesem Beispiel passiert mit dem ersten Menüpunkt nichts. Dem mittleren wird jeweils ein senkrechter Strich vorangestellt sowie auch dem letzten. Auf diese Weise erhält man dann zwischen allen Menüpunkten einen senkrechten Strich.
Abbildung 5.11: Die senkrechten Striche zwischen den Menüpunkten mit Option Splitting
195
Sandini Bib
5 Navigationen
5.3
GMENU
Wenn Sie lieber grafische Menüs generieren möchten, können Sie das GMENU dazu verwenden.
5.3.1
Simple GMENU
Ein GMENU wird aus Grafiken generiert. Jeder Menüpunkt hat dabei seine eigene Grafik, die aus mehreren Bestandteilen generiert wird. Wenigstens sollten die Grafiken einen Text beinhalten, der aus dem jeweiligen Seiten-Header abgeleitet wird. In der Regel ist das der Seitentitel. Ein Basis GMENU, das 200 x 20 Pixel große weiße Grafiken mit dem jeweiligen Seitentitel generiert, würde wie folgt aussehen: temp.navigation = HMENU temp.navigation.1 = GMENU temp.navigation.1.NO { wrap = | XY = 200,20 backColor = white 10 = TEXT 10.text.field = title 10.offset = 10,14 }
Abbildung 5.12: Ein GMENU in der Basisausführung mit weißem Hintergrund
5.3.2
GMENU mit Hintergrundgrafiken
Um dem GMENU eine Hintergrundgrafik hinzuzufügen, muss lediglich ein weiteres numerisches Objekt vom Typ IMAGE angelegt werden. Dabei ist zu beachten, dass die numerischen Objekte in aufsteigender Reihenfolge abgearbeitet werden. Das
196
Sandini Bib
5.3 GMENU
Objekt mit der Hintergrundgrafik muss also zuerst erzeugt werden und damit die kleinste Nummer besitzen. Andernfalls würde die Hintergrundgrafik zum Beispiel den Text überdecken. temp.bnavigation = HMENU temp.navigation.1 = GMENU temp.navigation.1.NO { wrap = | XY = 200,24 5 = IMAGE 5.file = menu_bg*.gif 10 = TEXT 10.text.field = title 10.offset = 10,14 10.fontSize = 14 10.fontColor = #9B9B9B }
Die im numerischen Objekt fünf übergebene Grafik ist in diesem Beispiel 200 Pixel breit und 24 Pixel hoch. Diese Grafik muss dem Template als Ressource hinzugefügt werden, andernfalls muss der komplette Pfad angegeben werden.
Abbildung 5.13: Im GMENU wurde eine Hintergrundgrafik eingefügt mit einem Farbverlauf, um einen Übergang zum Inhaltsbereich zu schaffen
197
Sandini Bib
5 Navigationen
5.3.3
GMENU mit Rollover-Effekt
Um einen Rollover-Effekt mit einer grafischen Navigation zu generieren, muss mit einem JavaScript die Grafik des jeweiligen Menüpunktes ausgetauscht werden, wenn sich die Maus über dem jeweiligen Menüpunkt befindet. TYPO3 generiert dieses JavaScript wie auch die Grafiken automatisch. Dazu muss lediglich ein weiteres Zustandsobjekt angelegt und aktiviert werden. In diesem Fall handelt es sich um das Objekt RO. Das realisiert man am einfachsten, indem das vorhandene NO-Objekt in das neue RO-Objekt vererbt bzw. kopiert wird. Objekte können mit der spitzen Klammer in Pfeilrichtung übergeben werden. temp.navigation.1.RO < temp.subnavigation.1.NO
Auf diese Weise würde zum Beispiel das NO-Objekt in das RO-Objekt übergeben. Anschließend können einzelne Veränderungen vorgenommen werden, wie zum Beispiel eine Änderung der Schriftfarbe. temp.navigation.1.RO.10.fontColor = black
Jetzt muss das RO-Objekt allerdings noch aktiviert werden. Nur das NO-Objekt aktiviert sich selbst, sobald eine Eigenschaft gesetzt wird. Alle anderen Objekte müssen auch wenn Eigenschaften gesetzt wurden, noch zusätzlich aktiviert werden. temp.navigation.1.RO = 1
5.3.4
Aktive Seiten im GMENU hervorheben
Seiten, die aufgerufen sind, können über das Zustandsobjekt CUR im grafischen Menü gesondert hervorgehoben werden. Dazu wird das NO-Objekt in das CURObjekt übergeben. Anschließend können einzelne Eigenschaften angepasst werden. In diesem Beispiel wollen wir die Hintergrundgrafik der aktuell aufgerufenen Seiten in der Navigation austauschen. Dazu wird zunächst das NO-Objekt in das CURObjekt übergeben: temp.navigation.1.CUR < temp.subnavigation.1.NO
Anschließend wird die Eigenschaft file des IMAGE-Objektes angepasst und eine andere Hintergrundgrafik eingestellt, die dem Template als Ressource hinzugefügt werden muss. temp.navigation.1.CUR.5.file = menu_cur_bg *.gif
Als Letztes muss das CUR-Objekt noch aktiviert werden. temp.navigation.1.CUR = 1
198
Sandini Bib
5.3 GMENU
Abbildung 5.14: Mit nur drei Zeilen TypoScript kann TYPO3 veranlasst werden, einen weiteren Satz Navigationsgrafiken und das JavaScript für den Rollover-Effekt zu generieren
Abbildung 5.15: Durch Hervorheben der aufgerufenen Seiten in der Navigation erleichtern Sie Ihren Besuchern die Orientierung auf der Website
199
Sandini Bib
5 Navigationen
5.3.5
Die unterschiedlichen Zustände des GMENU
Die gängigsten Zustandsobjekte des GMENU sind das RO-Objekt für den RolloverEffekt und das CUR-Objekt, um die aufgerufene Seite hervorzuheben. Das grafische Menü kennt aber noch eine Reihe weiterer Objekte, um zum Beispiel Seiten mit Unterseiten in den Menüs gesondert einstellen zu können. Zustandsobjekt
Beschreibung
NO
»Normal« Status der Navigationspunkte. NO ist für jedes Menü notwendig und wird beim Setzen von Eigenschaften automatisch aktiviert. Werden keine Eigenschaften eingestellt, muss NO=1 gesetzt werden. Die einfachste Form würde wie folgt aussehen: Seite.10 = HEMNU Seite.10.1 = TMENU Seite.10.1.NO = 1
RO
Aktiviert den Rollover-Zustand und integriert automatisch das JavaScript für den interaktiven Bildwechsel.
IFSUB
Aktiviert die Konfiguration für Menüpunkte, die Unterseiten beinhalten.
ACT
Aktiviert die Konfiguration für Menüpunkte, die in der rootLine gefunden wurden.
ACTIFSUB
Aktiviert die Konfiguration für Menüpunkte, die in der rootLine gefunden wurden und zusätzlich Unterseiten beinhalten.
CUR
Aktiviert die Konfiguration für Menüpunkte, die aktuell aufgerufen sind.
USR
Aktiviert die Konfiguration für Menüpunkte, die zugangsbeschränkt sind.
SPC
Aktiviert die Konfiguration von Seiten vom Typ Spacer. Diese Seiten können nicht angezeigt werden, sondern sind Platzhalter, die zum Unterteilen der Navigation genutzt werden können.
Tabelle 5.3: Die Zustandsobjekte, die im GMENU zur Verfügung stehen
5.3.6
GMENU mit unterschiedlich breiten Grafiken
Wenn Sie beispielsweise Ihr grafisches Menü horizontal anordnen möchten, ist es sinnvoll, die Grafikbreite der einzelnen Menüpunkte von der Textlänge des Menüpunktes abzuleiten. Bei der Übergabe der Größe durch die Eigenschaft XY kann das realisiert werden. Dazu muss in eckigen Klammern das Objekt genannt werden, dessen Breite herangezogen werden soll. Die Syntax für diese Art der Größenangabe sieht wie folgt aus: XY = [10.w]+x Pixel,[10.h]+x Pixel
200
Sandini Bib
5.3 GMENU
In der ersten eckigen Klammer wird zum einen ein numerisches Objekt angegeben und mit dem Buchstaben w die Breite (width). In der zweiten eckigen Klammer wird wiederum ein numerisches Objekt angegeben, dessen Höhe (height) verwendet werden soll. Diesen beiden Angaben können noch beliebige Pixelwerte hinzuaddiert werden. Im folgenden Beispiel werden die Grafiken der einzelnen Menüpunkte mit der Breite des jeweiligen TEXT-Objektes plus 10 Pixel erzeugt. Der Text wird durch die Eigenschaft offset um fünf Pixel verschoben und erscheint somit immer zentriert in der Grafik. temp.navigation = HMENU temp.navigation.1 = GMENU temp.navigation.1.NO { wrap = | XY = [10.w]+10,24 backColor = #FF9900 10 = TEXT 10.text.field = title 10.offset = 5,16 10.fontSize = 14 10.fontColor = white }
Abbildung 5.16: Die vier Menüpunkte variieren in der Breite je nach Länge des jeweiligen Textes
201
Sandini Bib
5 Navigationen
5.4
Dropdown-Menüs
Dropdown-Menüs sind eine Sonderform der Navigationsmenüs, bei denen die einzelnen Sprungziele als Liste in einem Pulldown-Menü aufgelistet werden.
5.4.1
Dropdown-Menü mit dem JSMENU-Objekt
Mit dem Menü-Objekt JSMENU lassen sich sehr einfach Dropdown-Menüs generieren. Die Pull-Seiten werden dann über ein JavaScript aufgerufen. Das JavaScript wird integriert, weil mit diesem Menü auch Dropdown-Navigationen über mehrere Levels möglich sind und weitere Funktionen eingebunden sind, die nur mit JavaScript realisierbar sind. Diese Menüs werden wie auch die TMENU- und GMENU-Objekte in einem numerischen Unterobjekt des HMENU angelegt. Es stehen also auch hier alle Einstellmöglichkeiten des HMENU zur Verfügung. In diesem Beispiel generieren wir mit dem special=directory ein Dropdown-Menü aus den Seiten eines Verzeichnisses. Über levels = 1 wird festgelegt, über wie viele Ebenen sich das Dropdown-Menü erstrecken soll. Beim special=directory ist nur eine Ebene sinnvoll. Menüs, die nicht vom special=directory sind, können sich natürlich auch über mehrere Ebenen erstrecken. Dann werden mehrere Dropdown-Menüs generiert, deren Auswahlmöglichkeiten von der Auswahl des übergeordneten Dropdown-Menüs abhängen. temp.dropdown_menu = HMENU temp.dropdown_menu.special = directory temp.dropdown_menu.special.value = 194 temp.dropdown_menu.1 = JSMENU temp.dropdown_menu.1{ levels = 1 1 { noLink = 0 alwaysLink = 0 showFirst = 0 additionalParams = style="width: 200px;" firstLabel = >> Hier bitte selektieren << } }
5.4.2
Dropdown-Menü mit TMENU
Das Dropdown-Menü kann auch über das TMENU-Objekt erzeugt werden. Dann muss das TMENU geschickt in ein HTML-Formular durch die wrap-Eigenschaften eingebettet werden.
202
Sandini Bib
5.4 Dropdown-Menüs
Abbildung 5.17: Ein Dropdown-Menü kann über das JSMENU sehr einfach generiert werden In diesem Beispiel ist die erste wrap-Eigenschaft die wichtigste. Hier wird das HTMLFormular erzeugt und über das onchange Event wird der Aufruf der im DropdownMenü selektierten Seite realisiert. Auch diese Variante funktioniert nur bei aktiviertem JavaScript, da sonst das onchange Event nicht berücksichtigt wird. Diese Variante lässt sich aber individuell anpassen. In diesem Beispiel wird eine Navigation über zwei Ebenen abgebildet. Durch die Eigenschaften allWrap werden die einzelnen Menüpunkte im Dropdown-Menü gesondert ausgezeichnet. Die Menüpunkte der zweiten Ebene werden außerdem noch im Menü eingerückt. Durch das Zustandsobjekt CUR können auch die derzeit aufgerufenen Seiten gesondert formatiert werden. temp.dropdown = COA temp.dropdown { 10 = HMENU 10.wrap = 10.1 = TMENU 10.1 {
Abbildung 5.18: Das Dropdown-Menü über zwei Navigationsebenen
204
Sandini Bib
6 TYPO3-Konfiguration 6.1
Backend-Anpassungen
6.1.1
Standardwerte für neue Datensätze modifizieren
Über den Eintrag TCAdefaults im UserTSConfig können Sie die default-Werte eines jeden Feldes verändern. TCAdefaults.[tabelle].[feldname] = Wert
So können Sie z.B. die News bestimmter Benutzer verstecken. Haben diese Benutzer keine Rechte, dieses Feld zu verändern, muss die News von einem anderen Benutzer freigeschaltet werden. Die Feldnamen und Tabellen können Sie über phpMyAdmin ausfindig machen. Für das News-Modul würde das dann wie folgt aussehen: TCAdefaults.tt_news.hidden = 1
Eine weitere Anwendungszweck könnte sein, dass Sie überwiegend Seiten vom Typ ERWEITERT verwenden. Sie sind es Leid, bei jeder neuen Seite den Typ von STANDARD auf ERWEITERT ändern oder das VERSTECKT-Häkchen entfernen zu müssen. Die Tabelle, in der die Seiten gespeichert werden, heißt pages. Im Feld DOKTYPE wird der Typ der Seite angegeben. Das Feld HIDDEN gibt an, ob die Seite versteckt ist oder nicht. Mit den folgenden beiden Zeilen wird der Typ neu angelegter Seiten auf ERWEITERT voreingestellt. TCAdefaults.pages.doktype = 2 TCAdefaults.pages.hidden = 0
Abbildung 6.1: einstellen
Über das Feld TSconfig lassen sich Benutzer und Benutzergruppen
Sandini Bib
6 TYPO3-Konfiguration
6.2
Frontend-Anpassungen
6.2.1
Frontend-Admin Panel konfigurieren
Die wichtigste Einstellung in Bezug auf das Admin Panel ist die Eigenschaft config.admPanel, über die im Setup-Feld des Templates das Admin Panel an- bzw. ausgeschaltet werden kann. Alle weiteren Einstellungen werden dann über das Feld TSCONFIG des jeweiligen Benutzers oder der Benutzergruppe vorgenommen. Die Eigenschaft im TSconfig-Feld, über die das Admin Panel eingestellt wird, heißt ebenso wie die im Template, admPanel. In der Eigenschaft admPanel gibt es dann drei weitere Eigenschaften. Mit der Eigenschaft hide kann das Admin Panel für einzelne Benutzer oder Benutzergruppen ausgeblendet werden. admPanel.hide=1
Allen Benutzern, die kein Admin(!) sind, müssen die einzelnen Funktionen im Admin Panel freigeschaltet werden. Mit der Eigenschaft enable gefolgt von dem Modul, können die einzelnen Module im Admin Panel aktiviert werden. admPanel.enable.all = 1 // aktiviert alle Module admPanel.enable.preview = 1 // aktiviert das Vorschau-Modul admPanel.enable.cache = 1 // aktiviert das Cache-Modul admPanel.enable.publish = 1 // aktiviert das Veröffentlichen-Modul admPanel.enable.edit = 1 // aktiviert das Eingabe-Modul admPanel.enable.tsdebug = 1 // aktiviert das TypoScript-Modul admPanel.enable.info = 1 // aktiviert das Info-Modul
Abbildung 6.2: Das Admin Panel mit allen aktivierten Modulen Die Eingabe-Werkzeuge, die das Editieren direkt auf der Website ermöglichen, können über das Eingabe-Modul aktiviert und deaktiviert werden. Diese Aktivierung lässt sich aber auch über TSconfig realisieren, sodass das Admin Panel versteckt werden kann, und die Eingabe-Werkzeuge trotzdem zur Verfügung stehen. Vorteil ist, dass der Redakteur die Werkzeuge zur Bearbeitung nicht immer über das Admin Panel einstellen muss.
206
Sandini Bib
6.2 Frontend-Anpassungen
Abbildung 6.3: Die Einstellung der Bearbeitungssymbole und -leisten kann auch über TSconfig vorgegeben werden admPanel.module.edit.forceDisplayFieldIcons = 1 // aktiviert die Bearbeitungssymbole admPanel.module.edit.forceDisplayIcons = 1 //aktiviert die Bearbeitungsleiste admPanel.module.edit.forceNoPopup = 1 // Bearbeitungsformulare werden nicht im PopUp geöffnet.
Auf diese Weise können die Bearbeitungswerkzeuge auf der Website aktiviert werden, ohne dass der Benutzer ein Admin Panel bedienen muss. Ein beliebtes Beispiel ist das aus der TypoScript-Eigenschaften-Anzeige: admPanel { enable.edit = 1 module.edit.forceDisplayFieldIcons = 1 hide = 1 }
Das Eingabe-Modul und die Bearbeitungssymbole werden aktiviert. Anschließend wird das Admin Panel versteckt.
6.2.2
Bilder an PopUp-Fenster anpassen
Beim Inhaltselement Text mit Bildern gibt es die Möglichkeit, bei einem Klick auf das Bild entweder zu einer Ziel-URL zu verzweigen oder das Bild vergrößert in einem PopUp-Fenster anzuzeigen. Das neue Browserfenster ist an die Bildgröße angepasst, das Bild ist dabei von einem schwarzen Rahmen umgeben. Die Rahmenbreiten links und oben hängen vom verwendeten Browser ab, die Breiten rechts und unten sind durch Standardwerte definiert. Mit wenigen Zeilen TypoScript können Sie die Farbe und Breite des Rahmens sowie weitere Parameter anpassen. Im Object Browser finden Sie die Standardwerte unter: TT_CONTENT.IMAGE.20.1.IMAGELINKWRAP
207
Sandini Bib
6 TYPO3-Konfiguration
Abbildung 6.4: Die Bearbeitungssymbole im Frontend sind auch ohne Admin Panel möglich Die Farbe des Rahmens können Sie am einfachsten über die Hintergrundfarbe des HTML-Dokumentes im BODY-Tag eingestellen. Über die Einstellungen TOPMARGIN, LEFTMARGIN, BOTTOMMARGIN und RIGHTMARGIN können Sie die rechte und obere Rahmenbreite festlegen. Alle diese Einstellungen werden im BODY-Tag des PopUp HTML-Dokumentes vorgenommen. Auch die TypoScript-Eigenschaft ist entsprechend benannt. tt_content.image.20.1.imageLinkWrap { bodyTag = }
Die rechte und untere Rahmenbreite müssen Sie über die Einstellung JSWINDOW.EXPAND anpassen. Wenn Sie oben und links einen zwei Pixel breiten Rahmen eingestellt haben und auch rechts und unten einen zwei Pixel breiten Rahmen haben möchten, müssen Sie ein insgesamt vier Pixel größeres PopUp-Fenster öffnen, als das Bild selber groß ist. tt_content.image.20.1.imageLinkWrap { JSwindow.expand = 4,4 }
208
Sandini Bib
6.2 Frontend-Anpassungen
Abbildung 6.5: Der obere und rechte Rahmen sowie die Farbe wurden durch das BODY-Tag verändert Mit der Eigenschaft wrap wird das JavaScript eingefügt, das bei einem Klick auf das Bild das PopUp wieder schließen lässt. Sie können die wrap-Eigenschaft aber auch verwenden, um Copyright-Hinweise oder andere beliebige HTML-Konstrukte einzufügen. Das könnte dann wie folgt aussehen: tt_content.image.20.1.imageLinkWrap{ bodyTag = wrap = |
www.CMS-TYPO3.com
JSwindow.expand = 4,24 }
Über die Eigenschaften width und height können Sie die maximale Größe des Bildes im PopUp einstellen. Voreingestellt sind die Bilder auf maximal 800 Pixel Breite und 600 Pixel Höhe. Sollten Ihre PopUp-Bilder nicht proportional skaliert werden, fügen Sie ein m den Werten an. tt_content.image.20.1.imageLinkWrap.width = 800m
Sollte Ihnen der voreingestellte Titel des PopUp-Fensters nicht gefallen, können Sie ihn über die Eigenschaft title verändern. tt_content.image.20.1.imageLinkWrap.title = Bildvergrößerung
209
Sandini Bib
6 TYPO3-Konfiguration
Abbildung 6.6: Das modifizierte PopUp mit Bildunterschrift und angepasstem Rahmen
6.2.3
Dateiverweise formatieren
Wenn Sie das Inhaltselement Dateiverweis bzw. Dateilinks verwenden, können Sie optional die Dateigröße im Frontend anzeigen lassen. Dazu müssen Sie lediglich das Häkchen ZEIGE DATEIGRÖSSE setzen.
Abbildung 6.7: Die Dateigröße kann optional angezeigt werden Im Frontend wird dann hinter dem Dateinamen die Größe mit dem Kürzel K für Kilobytes oder einem M für Megabytes angezeigt.
210
Sandini Bib
6.2 Frontend-Anpassungen
Abbildung 6.8: Die Dateigrößen werden im Frontend mit dem Kürzel M oder K angezeigt Ab der TYPO3-Version 3.6.0 kann die Formatierung der Dateigröße über TypoScript angepasst werden. Das folgende TypoScript muss dazu in das Setup-Feld Ihres Templates eingefügt werden: tt_content.uploads.20.1.split.1.filelink.size.bytes.labels = Bytes | KBytes | MBytes | GBytes
In diesem Fall wird die Dateigröße für den Dateilink im LAYOUT1 umformatiert. Die Ziffer hinter TT_CONTENT.UPLOADS.20 gibt das Layout an, welches dann im Inhaltselement entsprechend eingestellt werden muss.
Abbildung 6.9: Die Dateilinks können in drei unterschiedlichen Layouts ausgegeben werden Allerdings funktioniert das nur, wenn Sie das static-Template CONTENT(DEFAULT) verwenden. Im static-Template CSS STYLED CONTENT ist dies noch nicht integriert.
Abbildung 6.10: Die angepassten Dateigrößenformate
211
Sandini Bib
6 TYPO3-Konfiguration
Das komplette TypoScript zur Anpassung der Dateigrößenformate aller drei Layouts könnte dann wie folgt aussehen: # Dateilinks formatieren tt_content.uploads.20.1.split.1.filelink.size.bytes.labels = Byte| KByte| MByte | GByte tt_content.uploads.20.2.split.1.filelink.size.bytes.labels = Byte| KByte| Mbyte| GB tt_content.uploads.20.3.split.1.filelink.size.bytes.labels = Byte| KByte| Mbyte| GB
6.3
Strukturen in TYPO3
6.3.1
Inhalte auf mehreren Unterseiten automatisch platzieren
Wenn Sie auf mehreren Seiten identische Inhalte platzieren möchten, können Sie diese im Backend durch Verknüpfungen mit dem Inhaltselement Datensatz einfügen realisieren. Bei einer kleineren Anzahl von Seiten ist das sicherlich noch zumutbar. Bei größeren Projekten muss das anders gelöst werden. Die Inhalte, die auf die Unterseiten verknüpft werden sollen, platzieren Sie auf der Startseite in der Spalte RECHTS. Wenn Sie diese Spalte bereits verwenden, kann auch eine beliebige andere verwendet werden.
Abbildung 6.11: Die Inhalte der Spalte RECHTS sollen auf allen Unterseiten angezeigt werden
212
Sandini Bib
6.3 Strukturen in TYPO3
Als Nächstes müssen Sie in Ihrem Template einen Bereich für den Inhalt festlegen. Beim HTML-Template legen Sie in der HTML-Datei einen Subpart an, der später durch die Inhalte ersetzt wird. Beispiel Inhalt
Das TypoScript, das den Inhalt von der Startseite auf alle Unterseiten vererbt, sieht wie folgt aus: page.10.subparts.RECHTER_BLOCK = CONTENT page.10.subparts.RECHTER_BLOCK { table = tt_content select.orderBy = sorting select.where = colPos=2 select.pidInList = 1 }
Über die Eigenschaft select.where können Sie die Spalte angeben. Wie bereits erwähnt, können Sie die Inhalte in eine beliebige Spalte platzieren. Sie müssen die entsprechende Spalte über diese Eigenschaft entsprechend angeben. Inhalte in der Spalte LINKS werden über colPos=1, Inhalte in der Spalte NORMAL über colPos=0, Inhalte in der Spalte RECHTS über colPos=2 und Inhalte in der Spalte RAND über colPos=3 angesprochen. Über die Eigenschaft select.pidInList wird die Seite angegeben, von der aus die Inhalte auf die Unterseiten vererbt werden sollen.
Abbildung 6.12: Die Blöcke im rechten Bereich werden auf allen Seiten angezeigt und lediglich auf der Startseite verändert
213
Sandini Bib
6 TYPO3-Konfiguration
Auf diese Weise können Sie nun auf der Seite mit der UID=1 in der Spalte RECHTS beliebige Inhalte platzieren, die dann auf allen Unterseiten angezeigt werden. Einziger Nachteil dieser Methode ist das Caching-Problem. In TYPO3 werden immer komplette Seiten gecached. Werden nun die Inhalte für den rechten Bereich auf der Startseite modifiziert, wird die Startseite neu gecached. Damit der rechte Bereich auch auf den Unterseiten aktualisiert wird, muss der Cache dieser Seiten gelöscht werden.
6.4
Formulare
6.4.1
Rollover-Effekt im E-Mail-Formular
Das E-Mail-Formular wird über das Objekt tt_content.mailform generiert. Im numerischen Unterobjekt 10 wird die Überschrift erzeugt und im numerischen Unterobjekt 20 das eigentliche Formular. Über den TypoScript Object Browser im TemplateModul können Sie sich das Objekt und die Einstellung anschauen und bearbeiten.
Abbildung 6.13: Das mailform-Objekt im TypoScript Object Browser Um nun einen Rollover-Effekt zu generieren, muss entweder die Hintergrundfarbe oder die Rahmenfarbe der Textfelder verändert werden, wenn das Formularelement den Fokus der Eingabe hat. Über die Eigenschaft params können den Formularelementen Parameter übergeben werden. In diesem Beispiel werden wir ein JavaScript übergeben, das die Hintergrundfarbe und die Rahmenfarbe manipuliert.
214
Sandini Bib
6.5 Website-Optimierung
onFocus setzt die Farbwerte, wenn das Formularelement den Fokus erhält und onBlur
setzt die Farbwerte, wenn das Formularelement den Fokus wieder verliert. Das hat zur Folge, dass immer das Formularelement, mit dem aktuellen Fokus eine andere Farbgebung hat. Das erleichtert besonders bei größeren Formularen die Orientierung. onFocus stellt hier per Cascading Style Sheet den Rahmen und Hintergrund der Formularelemente ein. onFocus="this.style.border='1 solid red', this.style.background='#f7f7f7'"
Mit onBlur wird dann wieder auf die Standard Styles zurückgestellt. onBlur="this.style.border='1 solid black', this.style.background='white'"
Um das Ganze noch etwas eleganter zu gestalten, können statt fester Werte auch Konstanten, die im Constants-Feld des Template angelegt werden müssen, übergeben werden. Das komplette TypoScript würde dann wie folgt aussehen: Constants-Feld form{ act{ border-color = #FF9900 border-thickness = 1px border-bgcolor = #fafafa } out{ border-color = #cccccc border-thickness = 1px border-bgcolor = #ffffff } }
Meta-Tags sind wichtig, damit Ihre Internetseiten von den Suchmaschinen indiziert werden können und damit potenzielle Besucher Ihre Internetpräsenz überhaupt finden können. Die Meta-Tags sind dafür nicht allein verantwortlich, aber von großer Bedeutung.
215
Sandini Bib
6 TYPO3-Konfiguration
Die Erweiterung Meta tags, extended mit dem Extension Key metatags fügt für Sie die Meta-Tags in korrekter Syntax in den Header der HTML-Dokumente ein. Die Angaben können Sie bequem über den Constant Editor machen. Installieren Sie als Erstes die Erweiterung Meta tags, extended.
Abbildung 6.14: Die Erweiterung Meta tags, extended sollte unter dem Menüpunkt loaded Extensions gelistet sein Rufen Sie das Template-Modul auf und selektieren Sie die Seite mit dem Root-Template. Das ist in der Regel die oberste Seite in der Baumstruktur. Im rechten Bereich öffnet sich das Template Tool. In dem Pulldown-Menü ganz rechts müssen Sie nun den Constant Editor aufrufen. Im Constant Editor müssen Sie jetzt noch in CATEGORY PLUGIN.META (11) aufrufen. Die Zahl in den Klammern zeigt lediglich die Anzahl der in dieser Kategorie zu editierenden Eigenschaften an. Jetzt können die zu bearbeitenden Felder selektiert werden. Nach dem Update können Sie Ihre Angaben in die Felder eingeben und die Änderungen abspeichern.
Abbildung 6.15: Fügen Sie Ihre Meta-Tags bequem über den Constant Editor ein Wenn Sie Ihre Angaben durch einen Klick auf UPDATE bestätigt haben, werden die neuen Metadaten in den Header der HTML-Dokumente eingebunden.
216
Sandini Bib
6.5 Website-Optimierung
6.5.2
Getrennte Websitebereiche mit Subdomains
Eine andere Möglichkeit, weitere Domains oder auch Subdomains einzubinden, ist der Datensatz Domain. Diese Variante eignet sich besonders, wenn Sie eine Hauptseite haben, z.B. einen Sportverein mit Sparten (Fußball, Judo, Tischtennis …), die eine eigene Navigation und Struktur haben sollen. Sie müssen dazu erst die Subdomains auf Ihrem Server einrichten. Anschließend kann dann auf der Startseite der Judo-Sparte eine Datensatz-Domain platziert werden. Geben Sie einfach die Domain Subdomain ein. Bei einem Aufruf der Domain wird nun die entsprechende Seite mit einer Navigation ausgehend von diesem Punkt geladen. Alle Seiten, die in der Seitenstruktur oberhalb der Seite mit dem Domain Datensatz liegen, sind jetzt nicht mehr erreichbar.
Abbildung 6.16: Über den Datensatz Domain können Unterbereiche von der Hauptseite abgekoppelt werden
6.5.3
Unterschiedliche Start-Seiten je nach Domain
Sie betreiben eine Domain für alles, was das Wassersportlerherz begehrt, z.B. www.wassersport.de. Innerhalb dieser Domain gibt es Abteilungen für Segler, Surfer und Wasserskifahrer. Für jedes dieser Spezialgebiete haben Sie eigene Domains reserviert, also z.B. www.segler.de, www.surfer.de und www.wasserski.de. Wenn jemand z.B. www.segler.de eingibt, dann soll die Startseite für die Abteilung Segeln erscheinen, gleichzeitig sollen aber die anderen Sammelgebiete im Menü sichtbar sein. Wenn Sie in TYPO3 den Domainrecord www.segler.de der jeweiligen Seite zuordnen (z.B. id=123), dann sind jedoch nur die Seiten der Segelabteilung sichtbar. Eleganter lässt sich dies mit der Rewrite-Engine des Apache Webservers über ein paar Einträge in der .htaccess-Datei realisieren. Hier kann man je nach eingegebener Domain eine andere Startsteite definieren, wobei alle anderen Seiten dann trotzdem im Menü sichtbar sind.
217
Sandini Bib
6 TYPO3-Konfiguration
Die .htaccess-Datei sieht dann z.B. wie folgt aus: RewriteEngine on RewriteCond %{HTTP_HOST} segler.de$ [NC] RewriteRule ^$ /index.php?id=123 RewriteCond %{HTTP_HOST} surfer.de$ [NC] RewriteRule ^$ /index.php?id=456 RewriteCond %{HTTP_HOST} wasserski.de$ [NC] RewriteRule ^$ /index.php?id=789 RewriteRule ^[^/]*\.html$ /index.php
Die Schreibweise sorgt dafür, dass z.B. alle Domains, die in segler.de enden (also sowohl www.segler.de als auch nur segler.de) entsprechend umgeleitet werden.
Die TYPO3-Seiten werden dynamisch aus der Datenbank generiert. Dabei wird immer das PHP-Skript index.php aufgerufen. Beim Aufruf des Skriptes werden einige Werte übergeben. Anhand dieser Werte wird dann die entsprechende Seite aus der Datenbank generiert. Diese Werte werden in der URL übergeben, indem an den Skriptaufruf ein Fragezeichen und die Variable mit dem Wert angehängt wird. Das sieht dann meist wie im folgenden Beispiel aus. Hier wird lediglich der Wert mit der Seiten-ID übergeben. Im nachfolgenden Beispiel-URL wird also die Seite mit der ID 23 aufgerufen. http://www.Domain.de/index.php?id=23 Das Problem bei solchen Seiten ist, dass viele Suchmaschinen alle Angaben nach dem Fragezeichen nicht erkennen und verarbeiten können. Um das Problem zu umgehen, kann TYPO3 auch suchmaschinenfreundliche Adressen erzeugen, die wie statische HTML-Seiten aussehen. http://www.Domain.de/23.0.html Das heißt, alle Links und auch die Navigation auf den von TYPO3 generierten Seiten können in dieser statischen und suchmaschinenfreundlichen Form generiert werden. Dazu muss lediglich eine Variable gesetzt werden. Im Install Tool von TYPO3 kann die Variable [simulateStaticDocuments] unter Punkt 4 ALL CONFIGURATION gesetzt werden. Wenn der Haken gesetzt ist, müssen am Ende der Seite die Änderungen noch abgespeichert werden, und schon generiert TYPO3 statische Verknüpfungen. Alternativ kann die Funktion auch über das Template aktiviert werden. Der folgende Eintrag in das Setup-Feld aktiviert auch die Simulation statischer Verknüpfungen. config.simulateStaticDocuments = 1
218
Sandini Bib
6.5 Website-Optimierung
Abbildung 6.17: Die Simulation statischer Dokumente kann bequem über das Install Tool aktiviert werden Wenn jetzt diese statischen Verknüpfungen aufgerufen werden, wird es allerdings zu einem Fehler kommen, da das HTML-Dokument ja nicht vorhanden ist. Die einzelnen Übergabewerte, die in der statischen URL beinhaltet sind, müssen jetzt wieder extrahiert werden, damit TYPO3 wieder diese Werte übergeben werden können, die unter anderem die aufzurufende Seite kennzeichnen. Der Apache Webserver stellt dafür einen Mechanismus zur Verfügung, mit dem durch RewriteRule Seitenaufrufe umgeschrieben werden können. Die hier verwendete RewriteRule ist eine Regel, mit der die durch Punkte getrennten Werte der Adresse wieder in eine für TYPO3 lesbare Form konvertiert werden. Die RewriteRule wird in die Datei .htaccess geschrieben. Die TYPO3-Pakete beinhalten diese Datei bereits. Die Datei _.htaccess muss nur in .htaccess umbenannt werden. Anschließend kann .HTACCESS in einem Texteditor aufgerufen und bearbeitet werden. Die mitgelieferte .htaccess berücksichtigt eine Vielzahl von Einstellungsmöglichkeiten. Um die simulierten statischen Verknüpfungen umzuwandeln, reicht eine Regel. RewriteEngine on RewriteRule ^[^/]*\.html$ index.php
Sollte sich der TYPO3-Auftritt nicht direkt unter www.domain.de aufrufen lassen, sondern beispielsweise unter www.domain.de/cms/, dann muss dies noch über die RewriteBase angegeben werden.
219
Sandini Bib
6 TYPO3-Konfiguration
RewriteEngine on RewriteRule ^[^/]*\.html$ index.php RewriteBase = /cms
Sollte die Regel nicht funktionieren, liegt es meist daran, dass eine Konfiguration im Apache Webserver noch nicht korrekt ist. Für das Verzeichnis mit der TYPO3-Installation muss die Direktive Directory AllowOverrides gesetzt sein. Dass passiert am besten in der httpd.conf in den Einstellungen des VirtualHost. … Options +FollowSymLinks +Multiviews AllowOverride All
Es gibt auch einen Bereich in der httpd.conf, wo diese Einstellung serverweit vorgenommen werden kann. Das empfiehlt sich aus Sicherheitsgründen aber nicht und sollte für jeden einzelnen Virtuellen Host eingestellt werden.
6.5.5
Größenbeschränkung von Bildern
Bilder werden im Frontend nur bis zu einer festgelegten Größe angezeigt. Bilder, die diese Größe überschreiten, werden automatisch auf diese Maximalgröße herunter skaliert. Das hat den Vorteil, dass Redakteure sich keine Gedanken um die Skalierung von Bildern machen müssen. Standardmäßig ist diese maximale Bildgröße auf 600 Pixel Breite eingestellt. Sollte diese Breite für Ihr Layout immer noch zu groß sein, dann kann das über den Constant Editor bequem angepasst werden. Rufen Sie in der Seitenstruktur zunächst die Seite mit Ihrem Haupt-Template auf. Anschließend wechseln Sie in das Template-Modul und rufen im Dropdown-Menü oben rechts den Constant Editor auf. In der CATEGORY BASIC findet sich genau eine Einstellung. Diese Einstellung regelt die maximale Breite, die einem Image Block zur Verfügung steht. Geben Sie hier die gewünschte Breite in Pixel an. Aus diesem Wert werden auch die Größen für den Fall abgeleitet, dass in einem Inhaltselement Bilder in mehreren Spalten platziert werden.
220
Sandini Bib
6.5 Website-Optimierung
Abbildung 6.18: Der geänderte Wert wird nach Betätigen der Update-Schaltfläche in das Constants-Feld des Templates geschrieben
221
Sandini Bib
Sandini Bib
7
TYPO3 Extensions
7.1
Allgemeines
Dieses Kapitel soll Ihnen den Umgang mit den Erweiterungen von TYPO3 näher bringen und erleichtern. Wir zeigen Ihnen, wie Sie neue Erweiterungen in einem Projekt installieren und auf Ihre Bedürfnisse anpassen. Außerdem werden Sie einige Standarderweiterungen kennen lernen, die auf vielen Internetprojekten eingesetzt werden. Wir zeigen Ihnen, wie Sie diese integrierten Templates anpassen und modifizieren.
7.1.1
Erweiterungen im Extension Manager installieren
Über den Extension Manager werden die Erweiterungen in TYPO3 verwaltet. Über das Menü können drei unterschiedliche Ansichten aufgerufen werden. In den Ansichten werden die geladenen Erweiterungen angezeigt, die zur Verfügung stehenden Erweiterungen gelistet oder es kann eine Verbindung zum Extension Repository aufgebaut werden. In der vierten Ansicht können Einstellungen vorgenommen werden, wenn Erweiterungen in das Repository übertragen werden sollen. Über die beiden weiteren Dropdown-Menüs können die Listen der Erweiterungen sortiert werden und unterschiedliche Informationen zu den einzelnen Erweiterungen angezeigt werden.
Abbildung 7.1:
Die Menüs im Extension Manager
Da das Laden des kompletten Online Repository enorme Serverlast verursacht, sollte die Suche über das Feld LOOK UP eingegrenzt werden.
Sandini Bib
7 TYPO3 Extensions
7.1.2
Download von Extensions von TYPO3.org als Datei
Sollte das Online Repository mal nicht über den Extension Manager direkt zu erreichen sein, können die Erweiterungen auch direkt von der TYPO3-Entwicklerseite heruntergeladen werden. Im Bereich EXTENSIONS http://TYPO3.org/extensions/ werden alle Erweiterungen gelistet. Hier können die Erweiterungen auch nach unterschiedlichen Kriterien sortiert werden. Wenn Sie hier auf den Titel einer Erweiterung klicken, erhalten Sie die Info zur Erweiterung. Über die Detailansicht bekommen Sie weitere Informationen zur Erweiterung und am Seitenende eine Liste aller Dateien. Unter dieser Liste befinden sich zwei Verknüpfungen, über die die Erweiterung in komprimierter und unkomprimierter Version heruntergeladen werden kann.
Abbildung 7.2: Über die Detailansicht kann die T3X-Datei heruntergeladen werden, die die komplette Erweiterung beinhaltet
7.1.3
Extensions als T3X-Datei installieren
Erweiterungen müssen nicht immer über das Online Repository installiert werden. Wenn Sie eine Erweiterung im T3X-Format vorliegen haben, können Sie diese über den Extension Manager installieren, ähnlich wie beim Installieren vom Online Repository.
224
Sandini Bib
7.2 RTE
Sie müssen den Menüpunkt IMPORT EXTENSION FROM ONLINE REPOSITORY selektieren. Jetzt wird aber keine Verbindung zum Repository hergestellt, sondern über die Schaltfläche DURCHSUCHEN eine T3X-Datei vom lokalen Computer direkt übertragen. Sie müssen nur noch auswählen, wohin die Erweiterung installiert werden soll, also ob die Erweiterung lokal oder global installiert werden soll. Lokal installierte Erweiterungen werden in das Verzeichnis typo3conf/ext/ installiert. Die global installierten Erweiterungen hingegen werden in das Verzeichnis /typo3/ext/ installiert. Wenn Sie Ihr TYPO3 mit Symlinks aufgebaut haben, und mehrere TYPO3Projekte über diese Symlinks ein und denselben TYPO3 Source Code verwenden, dann stehen auch all diesen Projekten die global installierten Erweiterungen zur Verfügung. Die lokal installierten Erweiterungen hingegen stehen nur dem jeweiligen TYPO3-Projekt zur Verfügung, über welches die Erweiterung installiert wurde. Über die Schaltfläche UPLOAD EXTENSION FILE wird die Datei dann übertragen. TYPO3 erkennt das Dateiformat und extrahiert die einzelnen Dateien der Erweiterung. Anschließend steht die Erweiterung zur Verfügung und kann installiert werden.
Abbildung 7.3: Erweiterungen können auch über lokale T3X-Dateien installiert werden
7.2
RTE
Hinter dem Kürzel RTE verbergen sich die unterschiedlichen Rich Text Editoren, die Sie in TYPO3 einbinden können. So wird es möglich, den unterschiedlichsten Ansprüchen von Redakteuren beim Einsatz von Editoren gerecht zu werden. Diese Editoren lassen sich dann auch noch stark an die jeweiligen Bedürfnisse anpassen.
225
Sandini Bib
7 TYPO3 Extensions
7.2.1
RTE-Schriftarten
Bevor Sie sich die Schriftarten im Rich Text Editor anzeigen lassen können, müssen Sie zunächst das Schriftarten-Werkzeug aktivieren. Dazu müssen Sie über die Eigenschaft showButtons das Werkzeug fontstyle aktivieren. Das TypoScript muss in das TSconfig-Feld einer Seite platziert werden. Auf dieser Seite und allen Unterseiten steht dann das Werkzeug zur Verfügung, wenn es nicht wieder deaktiviert wird. Die Angaben, die im TSconfig-Feld einer Seite gemacht werden, vererben sich nämlich auf alle Unterseiten. RTE.default.showButtons = fontstyle
Abbildung 7.4: Das Schriftarten-Werkzeug im Standard Rich Text Editor Die einzelnen Schriftarten können nun über die Eigenschaft hideFontFace von der Liste entfernt werden. Dabei müssen die Nummern der Schriften angegeben werden.
226
Sandini Bib
7.2 RTE
Nummer
Schriftart
1
Arial
2
Arial Black
3
Verdana
4
Times New Roman
5
Garamond
6
Lucida Handwriting
7
Courier
8
Webdings
9
Wingdings
Tabelle 7.1: Die Standard-Schriften im Rich Text Editor und deren Nummern RTE.default { hideFontFaces= 2,5,6,8,9 }
Diese Liste lässt sich ähnlich einfach auch wieder um eigene Schriften erweitern. Dazu legen Sie eine neue Schrift an und vergeben einen Namen und einen Wert. Der Wert muss der Name der Schrift sein. Anschließend muss die neue Schrift über die Eigenschaft default.fontface noch aktiviert werden. In dem folgenden Codebeispiel haben wir alle Schriften bis auf Verdana, mit der Nummer drei, deaktiviert und eine neue Schrift angelegt. Über den Eintrag noFace können Schriftauszeichnungen wieder entfernt werden. RTE.default.showButtons=fontstyle RTE.default { hideFontFaces= 1,2,4,5,6,7,8,9 } RTE.fonts { face1 { name = Comic Sans value = Comic Sans MS } noFace { name = No font value = } } RTE.default.fontFace = face1, noFace
227
Sandini Bib
7 TYPO3 Extensions
Abbildung 7.5: Die Liste der Schriftarten lässt sich so beliebig erweitern und anpassen
7.2.2
RTE-Funktionen – Absatzformate
Absatzformate können über das gleichnamige Werkzeug verändert werden. Es stehen dabei die Absatzformate P PRE und die Formate für Überschriften H1 bis H6 zur Verfügung. Diese Liste kann über das TSconfig-Feld der Seite angepasst werden. Über die Eigenschaft hidePStyleItems können nun zunächst einzelne Absatzformate entfernt werden. Oft werden die Formate H1 und H2 für die Überschriften der Inhaltselemente oder Seitentitel verwendet. Daher kann es durchaus sinnvoll sein, diese Formate im Rich Text Editor zu unterbinden. Im folgenden Codebeispiel werden einige Absatzformate deaktiviert, sodass nur noch das Absatzformat P und die beiden Überschriftformate H3 und H4 zur Verfügung stehen. RTE.default { hidePStyleItems = H1,H2,H5,H6,PRE }
228
Sandini Bib
7.2 RTE
Abbildung 7.6: Das Werkzeug für die Absatzformate steht standardmäßig zur Verfügung und muss nicht gesondert aktiviert werden
7.2.3
RTE-Funktionen – eigene Absatz-Klassen
Sie können im Rich Text Editor auch eigene Absatzarten bzw. Klassen hinterlegen. Diese Klassen werden dann in das P-Tag integriert. Dazu legen Sie zunächst die Klasse an, vergeben einen Namen und legen Werte fest, über die der Absatz im Rich Text Editor formatiert wird. RTE.classes.grauerKasten { name = grauer Kasten value = background-color: #F2F4F4; padding:5px; margin:5px; }
Der Name der Klasse wird in der Liste der Absatzarten angezeigt. Die über die Eigenschaft value angegebenen Style Sheet-Definitionen dienen nur zur Vorschau im Rich Text Editor. Damit das neue Absatzformat auch angezeigt wird, muss es noch aktiviert werden. RTE.default.classesParagraph = grauerKasten
229
Sandini Bib
7 TYPO3 Extensions
Abbildung 7.7: Das neue Format steht jetzt im Rich Text Editor zur Verfügung Jetzt zeichnet der Rich Text Editor den Absatz mit einem Klassenzusatz aus. In diesem Fall mit der Klasse grauerKasten.
Lorem ipsum dolor sit amet…
Diese Klasse muss jetzt noch in einer Style Sheet-Datei angelegt werden, um die Formatierung auch auf der Internetseite zu realisieren. Die Angaben, die über die Eigenschaft value vorgenommen wurden, dienen wie gesagt nur zur Formatierung des Textes im Rich Text Editor, nicht aber auf der Internetseite.
7.2.4
RTE-Funktionen – Farben
Das Werkzeug für den Farbwähler muss im Rich Text Editor zunächst über die Eigenschaft showButtons angezeigt werden. Dabei gibt es zwei Werkzeuge: eins für die Hintergrundfarbe bgcolor und eines für die Textfarbe textcolor. RTE.default { showButtons=bgcolor,textcolor }
230
Sandini Bib
7.2 RTE
Abbildung 7.8: Die Werkzeuge, über die der Farbwähler aufgerufen werden kann, werden nicht standardmäßig in der Werkzeugleiste angezeigt Jetzt kann der Farbwähler um eigene Farben ergänzt werden. Dazu werden im default-Objekt des RTE neue Farbobjekte angelegt, die beliebig bezeichnet werden können. Den neuen Objekten muss dann noch über die Eigenschaft name ein Name und über die Eigenschaft value ein Farbwert zugewiesen werden. Wenn die Farben über RTE.default.colors aktiviert wurden, erscheinen die Namen der neuen Farben im Farbwähler. RTE.colors { farbe1 { name = hellGrau value = #f7f7f7 } farbe2 { name = mittelGrau value = #cccccc } farbe3 { name = dunkelGrau value = #333333 } farblos {
231
Sandini Bib
7 TYPO3 Extensions
name = farblos value = } } RTE.default.colors = farbe1, farbe2, farbe3, farblos
Abbildung 7.9: Der Farbwähler kann um beliebige Farben erweitert werden
7.2.5
RTE-Funktionen – Erscheinungsbild anpassen
Der Rich Text Editor verfügt über ein paar Grundeinstellungen, die mit dem Kürzel MAINSTYLE beginnen. Über diese Grundeinstellungen lassen sich die Text- und Hintergrundfarbe sowie Schriftart und -größe anpassen. Besonders interessant ist die Größe der Schrift im Rich Text Editor, die standardmäßig mit 10 Pixel für einige Anwender etwas klein sein könnte.
Abbildung 7.10: Die Inhalte werden nur im Rich Text Editor entsprechend formatiert, nicht aber auf der Internetseite
232
Sandini Bib
7.2 RTE
RTE.default { mainStyle_font = Verdana, sans-serif mainStyle_size = 16 mainStyle_color = white mainStyle_bgcolor = black }
7.2.6
RTE-Funktionen – Schaltflächen
Der Rich Text Editor verfügt über eine Reihe von Werkzeugen, die einzeln aktiviert und deaktiviert werden können.
Abbildung 7.11: Die Standardwerkzeuge des Rich Text Editors Mit dem TypoScript RTE.default.hideButtons lassen sich Werkzeuge ausblenden und mit RTE.default.showButtons können Werkzeuge eingeblendet werden, die standardmäßig nicht angezeigt werden. Die folgenden Werkzeuge stehen Ihnen dabei zur Verfügung: cut, copy, paste, formatblock, class, fontstyle, fontsize, textcolor, bold, italic, underline, left, center, right, orderedlist, unorderedlist, outdent, indent, link, table, bgcolor, image, emoticon, line, user, chMode.
7.2.7
RTE-Funktionen – Tabellen
Tabellen können im Rich Text Editor über das Tabellen-Werkzeug angelegt werden, das Sie mit RTE.DEFAULT.SHOWBUTTONS aktivieren müssen. Allerdings werden diese Tabellen in Fließtext konvertiert. Indem Sie die Eigenschaft preserveTables auf eins setzen, kann das verhindert werden. RTE.default { showButtons=table proc { preserveTables=1 } }
233
Sandini Bib
7 TYPO3 Extensions
7.3
News tt_news
Das tt-news-Modul ist die standardmäßige News-Extension von TYPO3. Sie dient zur Verwaltung, Bearbeitung und Anzeige von aktuellen Nachrichten.
7.3.1
News auf der Seite integrieren
Das News-Modul muss zunächst mit dem Extension Manager installiert werden. Wenn die Erweiterung installiert ist, kann auf einer Seite ein Inhaltselement vom Typ PLUGIN EINFÜGEN platziert werden. Als Erweiterung muss dann News selektiert werden. Jetzt muss noch eine Seite angelegt werden, die vom Typ SYSORDNER ist. In diesen SysOrdner werden die News-Datensätze und Newskategorie-Datensätze platziert. Im Seiten-Header der Seite, auf der das Plugin eingefügt wurde, muss jetzt unter ALLGEMEINEN DATENSATZSAMMLUNG der SysOrdner angegeben werden. Im Plugin selber wird der SysOrdner auch noch einmal unter AUSGANGSPUNKT angegeben. Das ist notwendig, damit die News und die Kategorien vom System gefunden werden. Als Letztes muss dem Haupt-Template noch eine der News-Vorlagen zugewiesen werden, die die Ausgabe der unterschiedlichen News-Ansichten formatiert. Sie können zwischen einer tabellenbasierten Vorlage und einer Style Sheet-Vorlage wählen.
Abbildung 7.12: Ohne eines der tt_news-Templates kann die Erweiterung keine Inhalte ausgeben Jetzt muss im Plugin noch eine Ansicht selektiert werden, um die News entsprechend auf der Seite auszugeben.
7.3.2
News archivieren
Das Plugin tt_news stellt unterschiedliche Ansichten zur Verfügung, über die archivierte News angezeigt werden können. Um nun News zu archivieren, kann der Redakteur beim Anlegen eines neuen News-Datensatzes das Archivdatum setzen. Die News wird dann automatisch archiviert. Alternativ kann aber auch systemweit eine Zeitspanne eingestellt werden, nach der die jeweilige News archiviert wird, unabhängig vom Archivdatum.
234
Sandini Bib
7.3 News tt_news
Abbildung 7.13: Die LIST-Ansicht des News-Moduls mit der table-based tt_news-Vorlage plugin.tt_news { enableArchiveDate = 1 datetimeDaysToArchive = 30 }
Zunächst muss das Archiv-Datum aktiviert werden. Im Anschluss stellen wir in diesem Beispiel dreißig Tage ein. News, die älter als dreißig Tage sind, werden dann automatisch archiviert. Dieses Archivdatum kann von den Redakteuren leider nicht mehr verändert werden. Über die Datei tca.php kann aber auch ein Datum vorgegeben werden, das von den Redakteuren noch angepasst werden kann. Diese Datei finden Sie im Ordner der Erweiterung, also im Verzeichnis TYPO3conf/ext/tt_news/ oder TYPO3/ext/tt_news/ je nach dem, ob die Erweiterung lokal oder global installiert wurde. In der tca.php kann dann der default-Wert des archivdate angepasst werden. In der tca.php werden die einzelnen Felder des News-Formulars eingestellt.
Der default-Wert ist normalerweise hier Null. Mit der PHP-Funktion mktime wird ein Datum erzeugt, das durch date("m")+1 um einen Monat in die Zukunft verändert wird. Die Berechnung des Archivdatums findet beim Erzeugen einer neuen News statt und kann vom Redakteur noch angepasst werden. Nachteil ist, wenn die tca.php der News-Erweiterung direkt angepasst wird, dass bei Updates der Erweiterung diese Datei unter Umständen mit einer neuen Version überschrieben wird und dann auch die Anpassungen verloren gehen. Besser ist es, eine eigene kleine Erweiterung zu erzeugen und in dieser die entsprechenden Werte zu setzen.
7.3.3
Autorennamen voreintragen
Um den Autorennamen und dessen E-Mail-Adresse in den Newsdatensätzen automatisch voreinzutragen, kann im TSconfig-Feld des jeweiligen Autors der Vorgabewert des entsprechenden Datenbankfeldes verändert werden. Diese Vorgabewerte werden über TCADEFAULTS verändert. Es folgt durch Punkte getrennt die Datenbanktabelle und das Datenbankfeld. Die korrekten Bezeichnungen der Tabellen und Felder können über phpMyAdmin angezeigt werden. In unserem Beispiel wollen wir von den News den Autorennamen und dessen E-Mail-Adresse angeben. Diese Informationen werden in der Tabelle tt_news abgespeichert. Dort finden wir die Felder AUTHOR und AUTHOR_EMAIL, in denen Name und E-Mail des Autors gespeichert werden. Mit dem folgenden TypoScript, das in das TSconfig-Feld des Backend-Benutzers gehört, werden nun also der Name und die E-Mail-Adresse voreingetragen. TCAdefaults.tt_news { author = Maik Caro author_email = [email protected] }
Erzeugt dieser Benutzer neue Newsdatensätze, werden sein Name und seine E-MailAdresse im Formular voreingetragen.
236
Sandini Bib
7.3 News tt_news
Abbildung 7.14: Die Formularfelder mit dem Namen und der E-Mail-Adresse werden jetzt mit den über TCAdefaults angegebenen Werten voreingetragen
7.3.4
Newsübersicht auf jeder Seite
Auf vielen Internetseiten finden Sie auf jeder Seite in einer schmalen Spalte eine Übersicht der letzten Meldungen. Um eine solche schmale Übersicht zu generieren, kann die Ansicht LATEST des News-Plugins verwendet werden. Nun muss diese Ansicht noch auf jeder Seite platziert werden. Dazu benötigen Sie zunächst einen Marker oder Subpart, dem das News-Plugin dann zugewiesen werden kann. Da das Plugin ja nicht über das Formular im Backend eingestellt werden kann, muss die Konfiguration über TypoScript realisiert werden. Dazu legen Sie am besten ein temporäres Objekt im Setup-Feld Ihres Templates an und weisen das News-Plugin zu. temp.news < plugin.tt_news
Als Nächstes kann dann das Plugin eingestellt werden. Zunächst muss die ID des SysOrdners angegeben werden, in dem die News-Datensätze zu finden sind. Um Konflikte mit anderen Einstellungen zu vermeiden, sollten Sie die Eigenschaft zunächst leeren, bevor Sie diese ändern. pid_list > pid_list = 208
Nun können Sie die Ansicht über die Eigenschaft code einstellen. Bei älteren Versionen findet sich dieses Feld noch im Formular des Plugin. Bei aktuellen Versionen von tt_news kann das im Plugin-Formular über das Dropdown-Menü ANSICHT eingestellt werden. code.field > code=LATEST
237
Sandini Bib
7 TYPO3 Extensions
Um die Anzahl der News einzugrenzen, können Sie jetzt noch die Eigenschaft latestLimit setzen. Das komplette TYPO3-Skript würde dann wie folgt aussehen: temp.news < plugin.tt_news temp.news { pid_list > pid_list = 208 code > code.field > code=LATEST latestLimit > latestLimit = 3 }
Jetzt muss das temporäre Objekt noch dem Template über den Marker oder Subpart zugewiesen werden, damit es auch auf der Website angezeigt werden kann. page.10.subparts.NEWS < temp.news
Abbildung 7.15: Die News im linken Bereich werden nun auf allen Seiten angezeigt
238
Sandini Bib
7.4 Adressdatenbank tt_address
7.4
Adressdatenbank tt_address
Die Extension tt_address ist das Standard-Plugin zur Verwaltung von Adressdatensätzen. Sie bietet jedoch schon eine Vielzahl von Funktionalitäten, die sie zu einem sehr nützlichen Werkzeug machen.
7.4.1
tt_address einbinden
Das Einbinden des Adress-Plugins gestaltet sich relativ simpel. Sie müssen lediglich ein neues Inhaltselement vom Typ PLUGIN EINFÜGEN auf einer Seite platzieren. Wenn die Adressdatensätze auf derselben Seite platziert werden, sind keine weiteren Einstellungen am Plugin notwendig. Die Erweiterung liefert eine Liste der Adressdatensätze, sortiert in alphabetischer Reihenfolge nach den Namen.
Abbildung 7.16: Die Ausgabe des Adress-Plugin in der Standard-Version Die tt_address-Erweiterung verfügt über kein eigenes Template und muss über das TypoScript angepasst werden, was aber auf Grund der einfachen Struktur mit wenigen Handgriffen erledigt ist. Über den Template Analyzer im Template-Modul lässt sich das TypoScript aufrufen. Dieses TypoScript kann kopiert und im eigenen Template eingefügt werden. Anschließend kann der Originalcode dann angepasst werden. Alternativ können auch selektive Anpassungen über den Typo Script Object Browser vorgenommen werden.
239
Sandini Bib
7 TYPO3 Extensions
Mit der folgenden Zeile TypoScript würde zum Beispiel die hinterlegte Website in einem neuen Browserfenster geöffnet und aus dem voreingestellten dänischen Begriff »Hjemmeside« wird »Website«. tt_address.20.27.dataWrap = Website
7.5
Forum tt_board
Mit der TYPO3-Erweiterung tt_board lässt sich relativ einfach ein Forum auf der Website integrieren. Die Struktur des Forums wird dabei durch die Seitenstruktur festgelegt. Wir wollen in diesem Beispiel ein Forum mit zwei Bereichen anlegen, in denen dann die einzelnen Foren platziert werden.
Abbildung 7.17: Die Struktur des Forums beinhaltet zwei Bereiche mit einigen Foren Auf der Seite TT_BOARD muss nun ein Inhaltselement vom Typ PLUGIN EINFÜGEN platziert werden. Damit das Plugin die einzelnen Bereiche des Forums auflistet, muss im Code-Feld der Eintrag LIST_CATEGORIES vorgenommen werden. Auf dieser Seite wird dann eine Übersicht der kompletten Forumsstruktur angezeigt. Auf den Seiten, die das Forum in einzelne Bereiche unterteilen, müssen auch Inhaltselemente mit der Erweiterung Forum platziert werden. Hier wird dann aber in das Code-Feld LIST_FORUMS eingetragen. Jetzt muss noch auf den einzelnen Unterseiten, die sich in den Bereichen befinden, das Plugin platziert werden und mit FORUM, POSTFORM wird das Plugin angewiesen, das Forum zu listen und das Formular um neue Einträge posten zu können.
7.6
Einladungen mit tipafriend
Mit der Erweiterung tipafriend können Sie Ihren Websitebesuchern die Möglichkeit bieten, Freunde auf Ihre Seite einzuladen. Dafür müssen Sie ein Inhaltselement mit der Erweiterung Tipp geben auf einer Seite platzieren. Im Code-Feld geben Sie
240
Sandini Bib
7.7 Kalender tt_calender
TIPFORM an. Das Plugin erzeugt dann ein Formular, über das eine E-Mail an Freunde verschickt werden kann, die dann auf Ihre Website eingeladen werden. Um von jeder Seite aus dieses Formular aufrufen zu können und die Adresse der jeweiligen Seite zu übergeben, kann das Plugin mit dem Code TIPLINK über TypoScript in das Template integriert werden. Die Seite mit dem Plugin, das das Formular anzeigt (Code = TIPFORM) sollte dann vom TYP NICHT IM MENÜ sein. Diese Seite braucht nicht mehr von der normalen Navigation aufgerufen zu werden, da sie über den Tip a Friend-Link von jeder Seite aus aufgerufen werden kann. Das hat zur Folge, dass jede einzelne Seite an Freunde weiterempfohlen werden kann. Im Template muss lediglich ein Subpart oder Marker vorhanden sein, dem das Plugin übergeben wird. temp.tip < plugin.tipafriend temp.tip { defaultCode = TIPLINK typolink.parameter = 200 // PID der TIPFORM Seite } page.10.subparts.TIPLINK < temp.tip
7.7
Kalender tt_calender
Beim Anlegen neuer Kalenderdatensätze ist Ihnen bestimmt schon das Feld aufgefallen, über das Verknüpfungen zu Seiten angegeben werden können. Leider findet dieses Feld noch keine Berücksichtigung in der Erweiterung tt_calender. In diesem Abschnitt werden wir die Erweiterung soweit modifizieren, das mit dem Feld LINK ZUR SEITE ein Link gesetzt werden kann. Auf der Internetseite wird dann ein Text mit der angegebenen Seite verknüpft. Auf diese Weise können für Kalendereinträge Folgeseiten angelegt werden, auf denen detaillierte Informationen zum Termin veröffentlicht werden können. Da das Feld in der Datenbank und im Backend die dazugehörige Eingabemöglichkeit vorhanden sind, muss lediglich die Ausgabe auf der Internetseite etwas modifiziert werden. Dabei können Sie unterschiedlich vorgehen. Für die Ausgabe des Kalenders sind zwei Dateien hauptverantwortlich. Zum einen das HTML-Template und zum anderen die Datei calender.inc, die Sie im Verzeichnis pi der Erweiterung finden. Wenn Sie tt_calender sauber erweitern wollen, sollten Sie einen neuen Marker anlegen. Diesen füllen Sie dann mit dem entsprechend verknüpften Text und platzieren ihn über das HTML-Template. Für eine ergebnisorientierte Lösung können Sie aber auch direkt in der Datei calender.inc den Code integrieren, ohne das HTML-Template zu modifizieren und neue Marker anlegen zu müssen. Dazu modifizieren Sie einfach den Header des jeweiligen Kalendereintrages und ergänzen diesen um einen verknüpften Hinweistext.
241
Sandini Bib
7 TYPO3 Extensions
Abbildung 7.18: Das Feld Links zur Seite wird von der Erweiterung nicht verwendet In der Zeile 104 der Datei calendar.inc finden Sie die Zeile, die den Header, also den Titel des Kalendereintrages erzeugt. Die erste Zeile weist dem Marker Header ein Objekt vom Typ HTML zu. In der folgenden Zeile wird der Titel des Kalenderdatensatzes in der Eigenschaft value übergeben. $tConf["marks."]["HEADER"]="HTML"; $tConf["marks."]["HEADER."]["value"]= htmlspecialchars($row[title]);
Wenn Sie diese beiden Zeilen durch den folgenden Code ersetzen, wird, wenn ein Link angegeben wurde, dem Titel ein verknüpfter Text angehängt. if ($row[link]) { $tConf["marks."]["HEADER."]["value"]=$row[title]." Infoseite >"; } else { $tConf["marks."]["HEADER."]["value"]=$row[title]; }
242
Sandini Bib
7.7 Kalender tt_calender
Auf diese Art und Weise erhalten Sie schnell die Möglichkeit, Ihren Kalendereinträgen Seiten zuordnen zu können. Auf diesen Seiten stehen Ihnen dann alle Freiheiten des Content Management-Systems zur Verfügung, um weitere Informationen oder Downloads ergänzend zum Kalenderdatensatz anbieten zu können.
Abbildung 7.19: Der Kalendereintrag mit der um den Link zur Infoseite erweiterten Überschrift
7.7.1
Kalendereinträge unterteilen
Kalendereinträge können unterteilt werden. Wenn Sie zum Beispiel ein Event haben und einen Zeitplan dazu festlegen möchten, können Sie die einzelnen Zeiten durch drei Bindestriche unterteilen. Die Eingabe im Feld BEMERKUNG würde dann in etwa so aussehen: Lorem ipsum Vivamus non magna vel odio malesuada condimentum. --6:00 Lorem dolor sit amet, consectetuer adipiscing elit. Cras convallis ultricies massa. --10:30 Suspendisse Lorem ipsum dolor sit amet, consectetuer adipiscing elit. --13:00 Quisque Etiam lobortis rutrum dui.
243
Sandini Bib
7 TYPO3 Extensions
--18:00 Proin Etiam lobortis rutrum dui.
Abbildung 7.20: Termine mit einzelnen Zeiten würden dann entsprechend vom Plugin der Angaben im Template formatiert
7.7.2
Produktbeschreibung in der Produktliste von tt_products automatisch kürzen
Wenn Sie einmal eine etwas längere Produktbeschreibung eingegeben haben, wird diese sowohl in der Listenansicht als auch in der Einzelansicht der Produkte komplett dargestellt. In der Übersicht der Produkte ist das aber eher unschön. Hier reichen ein paar Zeilen Produktbeschreibung, da die komplette Beschreibung ja über die Einzelansicht der Produkte aufgerufen werden kann. Um das zu umzusetzen, legen Sie in der Datei class.tx_ttproducts.php einen neuen Marker an, der eine Kurzbeschreibung beinhalten soll. Die Datei finden Sie in Verzeichnis pi der Erweiterung. In der Zeile 1043 wird der Marker für die Produktbeschreibung angelegt. $markerArray["###PRODUCT_NOTE###"] = nl2br($row["note"]);
244
Sandini Bib
7.8 Abstimmungen mit tt_poll anlegen
Fügen Sie dort eine neue Zeile ein, die wie folgt aussehen sollte: $markerArray["###PRODUCT_SHORTNOTE###"] = nl2br(substr($row["note"]),0,200)." ...";
Diese Zeile hat zur Folge, dass ein neuer Marker mit dem Namen PRODUCT_ SHORTNOTE angelegt wird. Der PHP-Befehl substr liefert einen Teilbereich einer Zeichenkette. Die Parameter geben den Startpunkt an und die Zeichenanzahl, die von einer Zeichenkette zurückgegeben werden sollen. In diesem Beispiel sollen von Beginn der Zeichenkette zweihundert Zeichen zurückgegeben werden. substr($Zeichenkette,0,200)
Als Zeichenkette wird der Code nl2br($row["note"]) eingefügt. Anschließend sollten Sie noch eine Zeichenkette anfügen, sodass deutlich wird, dass der Text hier abgeschnitten wurde. Für den Fall, dass die Produktbeschreibung keine 200 Zeichen lang ist, sollten Sie den neuen Marker in eine Bedingung einbetten. Damit verhindern Sie, dass die angefügte Zeichenkette auch nur dann ausgegeben wird, wenn die Produktbeschreibung auch wirklich gekürzt wurde. if (strlen ($row["note"]) > 200){ $markerArray["###PRODUCT_SHORTNOTE###"] = nl2br(substr($row["note"]),0,200)." ..."; } else $markerArray["###PRODUCT_SHORTNOTE###"] = nl2br($row["note"]);
Nun müssen Sie den neuen Marker noch im HTML-Template products_template.tmpl im Bereich der Listenansicht einfügen. In Zeile 71 des Templates finden Sie die Marker ###GW2B### ###PRODUCT_NOTE### ###GW2E###, der die Produktbeschreibung in der Listenansicht ausliefert. Ändern Sie den mittleren Marker auf ###PRODUCT_SHORTNOTE### und in der Produktübersicht wird die Produktbeschreibung automatisch auf 200 Zeichen gekürzt.
7.8
Abstimmungen mit tt_poll anlegen
Beim Integrieren von Abstimmungen gibt es einen kleinen Trick. Es muss kein Plugin auf der Seite platziert werden, sondern zunächst ein Datensatz Abstimmung. In diesem Datensatz wird die eigentliche Abstimmung angelegt, also die Frage und die Antwortoptionen. Dann muss noch ein Inhaltselement Datensatz einfügen auf der Seite platziert werden. Diesem Inhaltselement müssen über das Feld OBJEKTE alle Abstimmungen zugewiesen werden, die auf der Seite angezeigt werden sollen. Über das Setup-Feld des Templates muss noch die Ausgabe eingestellt werden. Sie müssen also einstellen, ob das Abstimmungsformular oder die Resultate der Abstimmungen angezeigt werden sollen, oder beides, wie in diesem Beispiel. plugin.tt_poll.code = VOTEFORM,RESULT
245
Sandini Bib
7 TYPO3 Extensions
Abbildung 7.21: Das Abstimmungsformular mit den Ergebnissen
7.9
Anmeldeformulare erweitern
Bei der Anmeldung über das Plugin Direct Mail Anmeldung oder auch bei der Registrierung über die Frontend-Benutzeradministration stehen bestimmte Felder zur Verfügung, die der Websitebesucher ausfüllen kann. Oft reichen diese Felder nicht aus, weil für spezielle Bedürfnisse weitere Daten notwendig sind. Wir wollen am Beispiel der Frontend-Benutzeradministration demonstrieren, wie diese um weitere Formularfelder erweitert werden kann. Das Verfahren bei der dmailsubscription ist identisch, da es auf dieselbe Erweiterung aufsetzt. Zunächst muss die Datenbank um die Felder erweitert werden, die im Formular ergänzt werden sollen, damit die Informationen auch gespeichert werden können. Das ist am einfachsten über den Kickstarter-Wizard zu realisieren, der über den Extension Manager aufzurufen ist. Natürlich muss der Kickstarter über den Extension Manager zuvor installiert worden sein, das es sich auch hierbei um eine Erweite-
246
Sandini Bib
7.9 Anmeldeformulare erweitern
rung handelt. Mit dem Kickstarter erzeugen Sie eine neue Erweiterung und erweitern eine vorhandene Tabelle. Es muss je nachdem, wo die Benutzer gespeichert werden, die Tabelle Frontend Users (fe_users) oder Address (tt_address) erweitert werden.
Abbildung 7.22: Mit neuen Erweiterungen können auch vorhandene erweitert werden In diesem Beispiel wollen wir die Datenbank lediglich um ein Feld für den Vornamen erweitern. Wenn das Feld entsprechend eingestellt wurde, kann mit der Schaltfläche VIEW RESULT der Code der Erweiterung generiert werden. Über die Schaltfläche WRITE muss die Erweiterung noch geschrieben werden. Anschließend kann die Erweiterung installiert werden. Bei der Installation wird dann die Tabelle um das neue Feld erweitert. Sie bekommen bei der Installation folgenden SQL-Befehl angezeigt: ALTER TABLE fe_users ADD user_firstname_firstname tinytext NOT NULL;
Jetzt kann das Template angepasst werden. Dazu erweitern wir zunächst das Formular um das Feld für den Vornamen.
Da bei der Anmeldung noch eine Vorschau der Daten erzeugt wird, muss über ein Hidden-Feld im Bereich TEMPLATE_CREATE_PREVIEW auch der Wert für den Vornamen übergeben werden.
247
Sandini Bib
7 TYPO3 Extensions
Abbildung 7.23: Die Ergebnisanzeige der neuen Erweiterung Um den Vornamen in der Vorschau anzeigen zu lassen, kann der Marker ###FIELD_user_firstname_firstname###
in das Template integriert werden. Damit wird nun das neue Feld in der Datenbank mit den Daten aus dem neuen Formularfeld befüllt. Da über die Erweiterung Frontend User Admin die Benutzer ihre Daten auch bearbeiten können, gibt es weitere Formulare, über die die Benutzerdaten editiert werden können. Die Bereiche TEMPLATE_EDIT und TEMPLATE_EDIT_PREVIEW sind dann entsprechend anzupassen.
7.10
AWSTATS
7.10.1
AWSTATS automatisieren
Mit der Erweiterung AWSTATS lassen sich die Logfiles des Webservers auswerten und analysieren. Im Backend werden die Statistiken über die Besucher der Webseite visuell aufbereitet und angezeigt. Das Aktualisieren der Statistik erfolgt über den
248
Sandini Bib
7.10 AWSTATS
Link JETZT AKTUALISIEREN im AWSTATS-Modul. Durch einen Klick auf den Link werden die Logfiles des Webservers von der Erweiterung analysiert und entsprechend angezeigt.
Abbildung 7.24: Über Update now kann die Statistik manuell aktualisiert werden Wurden die Statistiken längere Zeit nicht aktualisiert oder werden die IP-Adressen im Logfile zu Domainnamen aufgelöst, dauert die Erstellung der Statistik unter Umständen eine ganze Weile. Es kann daher sinnvoll sein, die Statistik in regelmäßigen Zyklen, z.B. stündlich oder täglich, automatisch zu aktualisieren. Die Daten, die in einem solchen Zyklus hinzukommen, sind überschaubar und lassen die Aktualisierung relativ schnell vonstatten gehen. Jochen Weiland hat eine kleine Modifikation in die AWSTATS-Erweiterung integriert, mit der ein Skript erzeugt werden kann, das dann über einen cron-Job regelmäßig aufgerufen werden kann. Dazu muss die index.php im Verzeichnis cc_awstats/mod1/ mit der modifizierten index.php ersetzt werden. Es gibt zwei unterschiedliche je nachdem, welche Versionsnummer die AWSTATS-Erweiterung hat. Sicherheitshalber sollten Sie die original index.php vorher sichern. Das können Sie mit dem folgenden Befehl, wenn Sie einen Shell-Zugang auf Ihrem Webserver haben. mv index.php index_original.php
Ist die neue index.php an Ort und Stelle, kann im TYPO3-Backend AWSTATS wie gewohnt aufgerufen und die Aktualisierung durchgeführt werden. Die veränderte index.php schreibt dabei eine neue Datei cron_script.sh im Verzeichnis mod1 der Erweiterung AWSTATS. Dieses Skript beinhaltet alle Anweisungen, über die AWSTATS alle Daten aus den Logfiles aktualisiert. Dieses Skript kann dann auf Linux-Servern durch einen cron-Job regelmäßig aufgerufen werden.
249
Sandini Bib
7 TYPO3 Extensions
Benennen Sie die Skript-Datei um, z.B. in awstats_update.sh: Mv cron_script.sh awstats_update.sh
Anschließend muss die Datei ausführbar gemacht werden: Chmod +x awstats_update.sh
Jetzt kann in crontab die Zeile eingefügt werden, über die die Datei awstats_update.sh regelmäßig aufgerufen wird. In diesem Beispiel wird alle zwei Stunden die Statistik vom Benutzer www-data aktualisiert. 00 */2 * * * www-data /pfad zur TYPO3 installation/TYPO3conf/ext/cc_awstats/mod1/awstats_update.sh > /dev/null
Sie sollten den Benutzer unter dem Ihr Webserver läuft, einsetzen, damit das Skript nicht von root ausgeführt wird.
7.11
Login implementieren
Für ein Login benötigen Sie zunächst eine Website-Benutzergruppe. Diese sollten Sie in einer gesonderten Seite vom Typ SYSORDNER anlegen. In diesem SysOrdner können Sie dann auch die Website-Benutzer verwalten. Nun müssen Sie eine Seite anlegen, auf der das Inhaltselement vom Typ LOGIN platziert wird. Über dieses Login können die Besucher sich an- und abmelden. Sie können jetzt weitere Inhalte oder auch Seiten anlegen, die über die allgemeinen Optionen nur gewissen Website-Benutzergruppen zugängig gemacht werden können.
Abbildung 7.25: Seiten und Inhalte können auf gleichem Weg zugriffsbeschränkt werden Jetzt muss in TYPO3 nur noch eingestellt werden, wo die Website-Benutzer und Benutzergruppen zu finden sind. Sie müssen also die UID des SysOrdners angeben. Dazu rufen Sie das Template-Modul auf und selektieren den Constant Editor. In der Kategorie CONTENT finden Sie im Bereich CONTENT: 'LOGIN' die Einstellung PID OF USER ARCHIVE. Hier müssen Sie die Seiten-UID des SysOrdners angeben. Zusätzlich können Sie noch eine Nachricht einstellen, die sich in einem Hinweisfenster öffnet, wenn der Benutzer sich angemeldet hat.
250
Sandini Bib
7.11 Login implementieren
Abbildung 7.26: Die Einstellungen aus dem Constant Editor werden in das Constants-Feld des Tempates übergeben styles.content.loginform.pid = 186 styles.content.loginform.goodMess = Sie sind jetzt am System angemeldet
Abbildung 7.27: Das Login auf der Website mit der Meldung bei erfolgreicher Anmeldung
251
Sandini Bib
7 TYPO3 Extensions
7.12
Benutzerregistrierung integrieren
Damit Website-Benutzer nicht manuell vom TYPO3-Administrator angelegt werden müssen, kann eine Benutzeranmeldung integriert werden, über die Besucher sich selber anmelden können. Die Freischaltung der so generierten Benutzeraccounts kann automatisch erfolgen oder durch den TYPO3-Administrator nach Prüfung der Daten. Wir wollen das einmal am Beispiel der Erweiterung Front End User Admin demonstrieren. Nachdem die Erweiterung über den Extension Manager installiert wurde, müssen Sie ein Seiteninhaltselement vom Typo Plugin einfügen und auf einer Seite platzieren. Stellen Sie in dem Inhaltselement die Erweiterung FRONTEND BENUTZER ADMINISTRATION ein. Wenn Sie die Seite aufrufen, bekommen Sie bereits das Formular angezeigt, worüber die Besucher einen neuen Benutzer anlegen können oder, wenn ein Frontend User eingeloggt ist, kann über diese Erweiterung der Benutzer seine Daten bearbeiten.
Abbildung 7.28: Die Erweiterung Frontend User Admin generiert das Formular zum Anlegen neuer Benutzer
252
Sandini Bib
7.12 Benutzerregistrierung integrieren
Jetzt müssen noch ein paar Einstellungen vorgenommen werden, damit die Benutzer auch korrekt erzeugt werden. Zunächst sollte der Erweiterung die ID des SysOrdners übergeben werden, damit die Website-Benutzer auf der korrekten Seite erzeugt werden. Das geht am einfachsten über den Constant Editor. Wählen Sie einfach im Constant Editor die CATEGORY PLUGIN.FEADMIN.FE_USERS aus. Im Bereich OTHERS kann die RECORD PID eingestellt werden. Hier tragen Sie die ID des SysOrdners ein. Damit die Website-Benutzer der korrekten Benutzergruppe zugewiesen werden, sollten Sie unter USERGROUP OVERRIDE die ID der gewünschten Website-Benutzergruppe angeben.
Abbildung 7.29: Die Einstellung kann über den Constant Editor vorgenommen werden, der dann das korrekte TypoScript in das Template schreibt Der Constant Editor überträgt die angegebenen Werte in das Constants-Feld des Templates. plugin.feadmin.fe_users.usergroupOverride = 1 plugin.feadmin.fe_users.pid = 186
Wenn jetzt neue Benutzer angelegt werden, sollten diese in der entsprechenden Seite angelegt und auch die Benutzergruppe mit ID=1 zugewiesen werden.
253
Sandini Bib
Sandini Bib
Stichwortverzeichnis A Absätze Formate deaktivieren im Rich Text Editor 228 Funktionen für eigene Klassen im Rich Text Editor 229 verschiedene Formate im Rich Text Editor 228 Abstimmung, einrichten mit tt_poll 245 Accesskeys 174 Übersicht 175 Admin Panel 128 einstellen 128 fehlende Symbole 83 frei platzieren 130 im Frontend konfigurieren 206 Adressen, verwalten mit tt_address 239 Änderungen rückgängig machen 68 Verlaufsliste 68 allow, Übersicht über aktivierbare Funktionen 131 Anmeldeformular, erweitern 246 attribs, Übersicht über mögliche Werte von 144 B Backend Anpassungen 205 deaktivieren für Benutzer 129 Login mit Weiterleitung zum Frontend einrichten 129 mehr Übersichtlichkeit durch Inhaltsspalten-Konfiguration 127 Navigationsframes anpassbar machen 113 Nummer/Name-Zuweisungen für Inhaltsspalten 128 Shortcut-Frame aktivieren für Benutzer 113 Shortcuts auf Dateien einrichten 115
Shortcuts für Benutzer einrichten 115 Shortcuts für Benutzergruppen einrichten 116 Shortcuts zum Bearbeiten einrichten 114 Standard-Zugangsdaten 20 Standardwerte für neue Datensätze modifizieren 205 Suchen 90 Zugriffsrechte vergeben auf Shortcuts 118 Backend-Benutzer, persönliche Notizen anlegen 94 Backend-Login, fehlende Bearbeitungssymbole 83 Backups automatische mit cron 39 einspielen 43 Bearbeitungsleiste, im Frontend frei platzieren und anpassen 133 Bearbeitungsrechte, für Backend-Benutzer setzen 103 Befehle anlegen Backend-Benutzer anlegen 123 CSV-Liste exportieren lassen 121 Datensatzliste anzeigen lassen 119 zum Bearbeiten von Elementen 118 Begrenzungsrahmen 72 Benutzer -Registrierung integrieren 252 Admin Panel einstellen 128 anlegen 97 Ausloggen aus Frontend bei deaktiviertem Backend 132 Backend deaktivieren für 129 Backend-Login mit Weiterleitung zum Frontend einrichten 129 Bearbeitungsrechte für Backend setzen 103 Erben von Mounts 100 für Backend per Befehl anlegen lassen 123
Sandini Bib
Stichwortverzeichnis
Seiteneinstiegspunkte setzen für 100 Session-Timeout für Backend hochsetzen 112 Zeitsteuerung nutzen 104 Zugriff auf Dateisystem erlauben 99 Zugriffsrechte für Befehle 121 Benutzergruppen Admin Panel einstellen 128 anlegen 97 simulieren über Admin Panel 96 Zugriffsrechte 100 Benutzerrechte, zum Löschen von Seiten 52 Betriebssysteme Erkennen mit system 146 Unterscheiden mit system 146 Bilder an PopUp-Fenster anpassen 207 auf jeder Seite andere 172 automatische Korrektur der Proportionen 71 Caption Splitting 105 einfügen in Inhaltselemente 69 Größenbeschränkungen 220 im Rich Text Editor anpassen 72 individuelle Links erstellen für 107 max. Größe einstellen im Constant Editor 220 per Drag‘n‘Drop einfügen 71 über den Rich Text Editor einfügen 70 Unterschriften zuweisen 105 Zugriffsrechte zum Hinzufügen 70 Bildergalerie 76 Breadcrumb-Navigation 190 Browse-Navigation 189 Browser unterscheiden mit browser 145 unterschiedliche Templates 145 browser, Übersicht über unterscheidbare Browser 145 C Caption Splitting 105 Constant Editor 155 max. Bilder-Größe einstellen 220 Template-Einstellungen vornehmen im 160 cron, automatische Backups 39 CSS dynamische Style Sheets in Projekte einbinden 138 in Template Records uploaden und benutzen 168 mehrere Style Sheets in Projekte einbinden 137
256
Style Sheets als Ressource anfügen und bearbeiten 141 Style Sheets über den CSS Styler bearbeiten 142 CSS Styler, Übersicht über mögliche Werte von attribs 144 CSV-Listen, exportieren 94 D date Ausgabe formatieren mit strftime 149 Übersicht über Parameter 147 Datei-Downloads 72 Dateien Anzahl der zu übertragenden festlegen 86 Arbeiten mit 85 löschen 86 über das Kontextmenü löschen 86 über numerische Klemmbretter kopieren oder verschieben 89 über numerische Klemmbretter löschen 86 überschreiben beim Upload 86 übertragen 85 umbenennen 87 verknüpfen 73 verlinken 72 verlinken im Rich Text Editor 73 verschieben oder kopieren 87 Verweise formatieren 210 Datenbank Mount 100 Datensätze, zuletzt bearbeitete aufrufen 92 Datum als Grafik ausgeben 151 anzeigen 147 Übersicht über date-Parameter 147 Datumsfelder 57 DB Mount 100 Debian GNU/Linux Apache-Konfiguration 30ff. APT-Konfiguration 29 Boot-Diskette erstellen 25 Hilfe bei der Installation 25 Installation 25f. MySQL-Konfiguration 30 Namensauflösung testen 26ff. phpMyAdmin 33 SSH-Client 26 System-Aktualisierung mit APT 29f. TYPO3-Installation 34 Zugriffsrechte für Webserver 40
Sandini Bib
Stichwortverzeichnis
Dok. Modul 92 Dokumente-Modul 92 Download-Links einfügen 72 Drag’n’Drop, Bilder einfügen per 71 E E-Mail-Adressen Links einfügen auf 75 verlinken im Rich Text Editor 76 E-Mail-Formular einfügen 78 fehlende Zugriffsrechte beim Erstellen 78 Rollover-Effekt in 214 Eingabehilfen 174 Einladungen, ermöglichen mit tipafriend 240 Einstellungen, allgemeine für TYPO3 105 Element Browser Feld zum Anlegen neuer Verzeichnisse aktivieren 126 Laden von Thumbnails unterbinden 126 modifizieren 125 Elemente Links einfügen auf 74 verschieben 50 Extensions als Datei von TYPO3.org herunterladen 224 als T3X-Datei installieren 224 im Extension Manager installieren 223 Externe URL, Seitentyp 63 F Farben, Funktionen im Rich Text Editor 230 Footer-Navigation 187 Formatierungen, für interne und externe Links 154 Formulare 214 Anmelde-~ erweitern 246 Rollover-Effekt in E-Mail-~ 214 Forum, integrieren mit tt_board 240 Frontend 128 Admin Panel konfigurieren 206 Anpassungen 206 Ausloggen bei deaktiviertem Backend 132 Bearbeitungsleiste frei platzieren und anpassen 133 im Backend anzeigen lassen 61 News bearbeitbar machen 130 Nummer/Name-Zuweisungen für Inhaltsspalten 158 nur Bearbeitung erlauben im 129
Seiten bearbeiten 83 Weiterleitung nach Login im Backend einrichten 129 früheren Bearbeitungsstand wieder herstellen 68 G gleichzeitige Bearbeitung von Inhalten 84 von Nicht-Seiteninhalten 84 Globale Variablen, abfragen 144 GMENU 196 aktive Seiten hervorheben 198 einfach 196 mit Hintergrundgrafiken 196 mit Rollover-Effekt 198 mit unterschiedlich breiten Grafiken 200 Übersicht über verfügbare Zustandsobjekte 200 unterschiedliche Zustände 200 Grafiken, Dateien in Template Records uploaden und benutzen 168 H HMENU 183 I Inhalte 57 als PDF ausgeben 176 auf mehreren Unterseiten automatisch platzieren 212 ausschneiden und einfügen 66 bearbeiten 64 Bearbeiten häufig wiederkehrender 92 Datumsfelder 57 für Drucker optimiert ausgeben 178 im Schnelleingabe-Modus bearbeiten 65 im Spalten-Modus bearbeiten 64 mehrere zur gleichzeitigen Bearbeitung öffnen 84 schnell über die ID öffnen 85 von anderen Seiten verknüpfen 82 Vorschau versteckter und zeitgesteuerter 94 Vorschau zeitgesteuerter 96 Vorschau zugriffsbeschränkter 96 weitere Ausgabeformate 181 Zeitsteuerung von 89 zwischen Seiten verschieben 66 Inhaltselemente bearbeiten 66 Bild einfügen 76
257
Sandini Bib
Stichwortverzeichnis
Bilder einfügen in 69 verschieben 67 Inhaltsspalten Inhalte von LEFT, RIGHT und BORDER verwenden 157 konfigurieren 127 Übersicht über Nummer/NameZuweisung im Backend 128 Übersicht über Nummer/NameZuweisung im Frontend 158 Install Tool Front- und/oder Backend-Interface bei Login anbieten 112 sichern 41 Upload-Limits einstellen 45 Installation 15 Debian GNU/Linux 25f. Namensauflösung unter Windows konfigurieren 17 unter Linux 25 unter Mac OS X mit XAMPP 21 unter Windows mit WAMP Quickstart 15 weitere Komponenten 28 J JSMENU, in Dropdown-Menüs 202 K Kalender einrichten mit tt_calender 241 Einträge Seiten zuordnen 241 Einträge unterteilen 243 Klemmbretter 51, 67 aktivieren im Liste-Modus 84 Dateien kopieren oder verschieben über numerische 89 Dateien löschen über numerische 86 Verzeichnisse kopieren oder verschieben über numerische 89 Konfiguration 15 L Layout 171 Links auf E-Mail-Adressen einfügen 75 auf E-Mail-Adressen im Rich Text Editor einfügen 76 auf Seiten und Elemente einfügen 74 automatische Generierung durch TYPO3 91 einfügen 76 interne und externe verschieden formatieren 154
258
löschen im Rich Text Editor 58f. zum Download einfügen 72 Linktypen mailto 75 Seite 74 Linux, Installation von TYPO3 25 Liste-Modul, Benutzer und Benutzergruppen anlegen 97 Logfiles, des Webservers auswerten mit AWSTATS 248 Login Front- und/oder Backend-Interface anbieten 112 implementieren 250 Interfaces 111 Lupe-Icon, aktivieren 62 M Mac OS X, Installation von TYPO3 mit XAMPP 21 Menüs ASCII-Werte für Trennzeichen in Text- 194 Bereichsüberschriften 192 Dropdown- 202 Dropdown-~ mit JSMENU 202 Dropdown-~ mit TMENU 202 GMENU-Objekt 196 Haupt- mit Untermenüs erweitern 184 Haupt- und Untermenüs räumlich trennen 186 HMENU-Objekt 183 Navigationszustände aktivieren 183 TMENU-Objekt 193 Trennzeichen in Text- 194 Meta-Tags 215 Module, Zugriff freigeben auf 98 Mounts, Erben von 100 MySQL 42 Backup einspielen 43f. Konfiguration unter Debian GNU/Linux 30 root-Passwort setzen 42 MySQL Commander 42 Backups einspielen 43 Zugriffsrechte anpassen 42 mysqldump, Backup erstellen 43 N Navigation Breadcrumb- 190 Browse- 189 Footer- 187
Sandini Bib
Stichwortverzeichnis
GMENU-Objekt 196 Haupt- mit Unternavigation erweitern 184 Haupt- und Unternavigation räumlich trennen 186 HMENU-Objekt 183 TMENU-Objekt 193 Zustände aktivieren 183 Navigationstitel 59 neue Seiten 53 Neuerstellungs-Assistent 53 News archivieren 234 auf der Seite integrieren 234 Autorennamen voreintragen 236 im Frontend bearbeitbar machen 130 tt_news 234 Übersicht auf jeder Seite 237 Übersicht über via allow aktivierbare Funktionen 131 Notizen anlegen, Backend-Benutzer 94 P PHP-Konfiguration 44 Safe Mode einstellen 45 Speicherlimit erhöhen 44 Upload-Limits einstellen 45 phpMyAdmin 42 Backups einspielen 43 Installation unter Debian GNU/Linux 33 Konfiguration 33 PopUp-Fenster, Bilder anpassen an 207 Produktbeschreibungen, in tt_products automatisch kürzen 244 Putty 26 R rekursives Löschen 52 Rich Text Editor 58, 225 Absatzformate deaktivieren 228 auf E-Mail-Adressen verlinken 76 Bilder einfügen 70 Dateien verlinken 73 Links löschen im 58f. Schriftarten 226 Schriftarten-Werkzeug aktivieren 226 Toolbar modifizieren 110 Übersicht über Schriftarten 227 um Schriftarten erweitern 227 verfügbare Icons für Toolbar 110 Rich Text Editor-Funktionen für Absatzformate 228 für eigene Absatzklassen 229 für Farben 230
für Schaltflächen 233 Tabellen 233 zum Anpassen des Erscheinungsbildes 232 Rollover-Effekt, in E-Mail-Formular 214 S Safe Mode, einstellen 45 Schnelleingabe-Modus 65 Schriftarten, Rich Text Editor 226 Schriftarten-Werkzeug, im Rich Text Editor aktivieren 226 Seiten Alias für einprägsamere HTTP-Adressen 92 Alias setzen 91 alternative Navigationstitel für 59 anzeigen lassen 61 anzeigen lassen über Liste-Modul 61 anzeigen lassen über Seite-Modul 61 bearbeiten im Frontend 83 Benutzerrechte zum Löschen von 52 Cache löschen 90 ID 91 kopieren 48 kopieren über Liste-Modul 50 kopierte einfügen 48 Links einfügen auf 74 mehrere kopieren 51 mehrere löschen 52 mehrere schnell erzeugen 55 mehrere verschieben 51 neue anlegen 53 neue automatisch erstellen 108 Neuerstellungsassistent 53 schnell über die Seiten-ID öffnen 85 sortieren 56 Titel-/Untertitel in Templates hinzufügen 170 unterschiedliche Startseiten je nach Domain 217 verschieben 50 verschieben über Liste-Modul 51 verschieben über Seite-Modul 51 verstecken 47 Vorschau von versteckten und zeitgesteuerten 94 Vorschau von zeitgesteuerten 96 Vorschau von zugriffsbeschränkten 96 Zeitsteuerung von 89f. zuletzt bearbeitete aufrufen 92 Seiten sortieren 56 Seiten verstecken 47
259
Sandini Bib
Stichwortverzeichnis
Seiten-Alias, für einprägsamere HTTPAdressen 92 Seiten-Verknüpfungen 82 Seitenalias setzen 91 Seitencache löschen 90 Seiteneinstiegspunkt, setzen 100 Seitenrechte setzen 100 Übersicht über 102 Seitentyp Externe URL 63 Sessions, Timeout hochsetzen 112 Shortcut-Frame, aktivieren für BackendBenutzer 113 Shortcut-Modus 62 Shortcut-Seiten 62 Shortcuts auf Dateien im Backend einrichten 115 für Benutzer im Backend einrichten 115 für Benutzergruppen im Backend einrichten 116 im Backend Zugriffsrechte vergeben auf 118 zum Bearbeiten im Backend einrichten 114 Sichtbarkeitseinstellungen 47 Simulation statischer Dokumente 91 Spalten-Modus 64 SSH-Client, Putty 26 Startseiten, unterschiedliche je nach Domain 217 Steuerzeiten 89 strftime, Übersicht über Parameter zur Formatierung der date-Ausgabe 149 Style Sheets als Ressource anfügen und bearbeiten 141 dynamische in Projekte einbinden 138 mehrere in Projekte einbinden 137 über den CSS Styler bearbeiten 142 Subdomains 217 Suchen einfügen als Funktion 80 im Backend 90 Seitenelemente durchsuchen 80 system Betriebssysteme erkennen mit 146 Übersicht über unterscheidbare Betriebssysteme 146 T Tabelle pages, Übersicht über Datenbankfelder 108 Tabellen, Funktionen im Rich Text Editor 233
260
Tastaturkürzel 174 Übersicht 175 Template Records, Ressourcen uploaden und benutzen in 168 Templates Bearbeitungsleiste frei platzieren und anpassen 133 browserabhängige 145 BUG 160 Business 161 CANDIDATE 162 CrCPH 162 Einstellungen im Constant Editor vornehmen 160 FIRST 163 GLUECK 163 GREEN 164 HYPER 164 in Template Records uploaden und benutzen 168 MM 159, 161, 167 NEWSLETTER 165 RE 165 Seiten-/Untertitel hinzufügen 170 Standard-Templates bearbeiten 159 TU 166 Text-Menüs ASCII-Werte für Trennzeichen 194 Trennzeichen 194 Thumbnails, Laden im Element Browser unterbinden 126 Timeout, für Sessions hochsetzen 112 TMENU 193 in Dropdown-Menüs 202 Toolbar im Rich Text Editor verfügbare Icons 110 vom Rich Text Editor modifizieren 110 TYPO3 1-2-3-Install Tool 36 Absicherung nach Installation 37, 41 allgemeine Einstellungen 105 Benutzer anlegen 97 Benutzergruppen anlegen 97 Cache-Einstellungen 153 Caching-Problem 214 die in index.php auskommentieren 35, 41 Grafik-Erzeugung und Cache 153 Install Tool 35 Installation unter Debian GNU/Linux 34 Konfiguration 205 Standard Install Tool 37 Strukturen 212 Übersicht über Seiten-Zugriffsrechte 102 Upload-Limits einstellen 45
Sandini Bib
Stichwortverzeichnis
Zugriffsrechte auf Seiten 100 Zugriffsrechte nach Installation a npassen 35 TYPO3 Element Browser 72 U Überschriften clear.gif als Abstandhalter 171 korrekt mit Header-Tags auszeichnen 171 Menüs als Bereichs- 192 URLs, suchmaschinenfreundliche 218 V Variablen, Abfragen globaler 144 Verknüpfungen 58 Verlaufsliste 68 Verzeichnisse löschen samt Inhalten 87 über numerische Klemmbretter kopieren oder verschieben 89 umbenennen 87 verschieben oder kopieren 87 Zugriffsrechte zum Kopieren 88 Zugriffsrechte zum Löschen 87 Vorschau versteckter und zeitgesteuerter Seiten und Inhalten 94 von zugriffsbeschränkten Seiten und Inhalten 96 zeitgesteuerter Seiten und Inhalte 96 Votum, einrichten mit tt_poll 245
W WAMP Quickstart, Installation unter Windows 15 Websites getrennte Bereiche mit Subdomains 217 neue basierend auf Standard-Templates erstellen 158 Statistiken automatisieren mit AWSTATS 248 Suchmaschinen-Optimierung 215 unterschiedliche Startseiten je nach Domain 217 Windows, Installation von TYPO3 mit WAMP Quickstart 15 X XAMPP, Installation unter Mac OS X 21, 23 Z Zauber-Bilder, über den Rich Text Editor einfügen 70 Zeitsteuerung für Benutzer 104 von Seiten und Inhalten 89f. Zeit-Schnelleingabe 89 Zugriffsrechte auf Seiten in TYPO3 100 auf Seiten in TYPO3, Übersicht 102 korrekt setzen 40 zum Kopieren von Verzeichnisssen 88 zum Löschen von Verzeichnisssen 87
261
Sandini Bib
... aktuelles Fachwissen rund, um die Uhr – zum Probelesen, Downloaden oder auch auf Papier. www.InformIT.de
InformIT.de, Partner von Addison-Wesley, ist unsere Antwort auf alle Fragen der IT-Branche. In Zusammenarbeit mit den Top-Autoren von Addison-Wesley, absoluten Spezialisten ihres Fachgebiets, bieten wir Ihnen ständig hochinteressante, brandaktuelle Informationen und kompetente Lösungen zu nahezu allen IT-Themen.
wenn Sie mehr wissen wollen ...
www.InformIT.de
Sandini Bib
Copyright Daten, Texte, Design und Grafiken dieses eBooks, sowie die eventuell angebotenen eBook-Zusatzdaten sind urheberrechtlich geschützt. Dieses eBook stellen wir lediglich als persönliche Einzelplatz-Lizenz zur Verfügung! Jede andere Verwendung dieses eBooks oder zugehöriger Materialien und Informationen, einschliesslich •
der Reproduktion,
•
der Weitergabe,
•
des Weitervertriebs,
•
der Platzierung im Internet, in Intranets, in Extranets,
•
der Veränderung,
•
des Weiterverkaufs
•
und der Veröffentlichung
bedarf der schriftlichen Genehmigung des Verlags. Insbesondere ist die Entfernung oder Änderung des vom Verlag vergebenen Passwortschutzes ausdrücklich untersagt! Bei Fragen zu diesem Thema wenden Sie sich bitte an: [email protected] Zusatzdaten Möglicherweise liegt dem gedruckten Buch eine CD-ROM mit Zusatzdaten bei. Die Zurverfügungstellung dieser Daten auf unseren Websites ist eine freiwillige Leistung des Verlags. Der Rechtsweg ist ausgeschlossen. Hinweis Dieses und viele weitere eBooks können Sie rund um die Uhr und legal auf unserer Website