Anzeige
Anzeige
Software & Entwicklung
Artikel merken

TYPO3 Kochrezepte

Die folgenden drei Rezepte stammen aus dem TYPO3 Kochbuch von O’Reilly[1]. Darin geben die TYPO3-Experten Trabold, Hasenau und Niederlag auf rund 700 Seiten anhand von Beispielen Lösungsansätze für typische Probleme aus dem Alltag eines TYPO3-Entwicklers.

8 Min. Lesezeit
Anzeige
Anzeige

Mehrere Websites mit TYPO3 verwalten

Problem

Sie möchten mehrere Websites mit TYPO3 verwalten, beispielsweise um weitere Subdomains einer Website über ein Backend zu administrieren.

Lösung

Anzeige
Anzeige

Legen Sie für jede Domain einen eigenen Datensatz vom Typ Domain an und legen Sie diese in die gewünschten Seiten im Seitenbaum. Dadurch verknüpfen Sie die Adressen mit den jeweiligen Seiten, so dass diese analog dazu über den Browser aufgerufen werden können. Wechseln Sie dafür zuerst in das TYPO3-Backend und aktivieren Sie das Modul „Liste“. Klicken Sie anschließend auf die Seite, die der ersten Domain zugewiesen werden soll. Erfahrungsgemäß ist dies die Startseite Ihrer jetzigen Website. Legen Sie dort einen neuen Datensatz vom Typ Domain an. In das Feld Domain geben Sie die gewünschte Adresse ein, unter der die Seite gefunden werden soll. Achten Sie darauf, dass Sie hier die komplette Adresse (inkl. Subdomain) ohne Protokoll eingeben und sämtliche Adressen eindeutig sind. TYPO3 ergänzt mehrfach vorkommende Adressen mit einer 0.

Wählen Sie anschließend eine weitere Ursprungsseite Ihrer Website an und wiederholen Sie diesen Schritt. Dadurch ordnen Sie die andere Adresse ebenfalls einer bestimmten Seite zu. Wiederholen Sie diesen Vorgang, bis Sie sämtliche Domains in den Seitenbaum integriert haben. TYPO3 kann nun eindeutig zwischen den vorhandenen Domains unterscheiden und die Anfragen des Browsers auf den entsprechenden Teil des Seitenbaums weiterleiten.

Anzeige
Anzeige

Sie haben damit die Grundvoraussetzung dafür geschaffen, dass Ihre Domains nach der Umstellung der DNS-(Domain Name System)Server von TYPO3 der entsprechenden Website korrekt zugeordnet werden können. Richten Sie nun den DNS-Server so ein, dass der Hostname auf dieselbe IP-Adresse zeigt, auf der Ihre existierende TYPO3-Installation liegt. Anschließend registrieren Sie auf dem Server den neuen virtuellen Host.Dadurch wird die Domain auf das gewünschte Verzeichnis auf dem Server umleitet.

Anzeige
Anzeige

Hierzu müssen Sie Ihren Webserver entsprechend konfigurieren. Beim Apache-Webserver erfolgt diese Konfiguration normalerweise in der Datei httpd.conf. Das genaue Vorgehen weicht aber je nach Distribution bzw. Betriebssystem stark ab. Die beiden Domains werden dann in einer TYPO3-Installation verwaltet und greifen auf die Dateien einer TYPO3-Installation zu. TYPO3 analysiert beim Aufruf der Webseite den Domainnamen und liefert dann die entsprechenden Seiten für diese Domain aus.

Diskussion

Mit TYPO3 können Sie beliebig viele Domains über eine Oberfläche verwalten. Die jeweiligen Websites bleiben dabei über das durchgängige Seitenbaumprinzip stets leicht administrierbar. Wenn Sie mehrere Domains in einer TYPO3-Installation verwalten, die unterschiedliche Websites repräsentieren, sollten Sie für jede Domain einen eigenen Seitenbaum anlegen. In der Praxis hat sich dafür folgendes Prinzip bewährt: Legen Sie für jede Domain eine eigene Hauptseite an, unter der Sie die weiteren Unterseiten einfügen. Die Hauptseite verknüpfen Sie dann über den Seitentyp Shortcut mit der Unterseite. Erst diese Unterseite enthält die eigentlichen Webseiten, die über ein entsprechendes Root-Template die Seiteninhalte im Frontend darstellen. Dadurch bleibt die Seitenstruktur sauber und übersichtlich.

Anzeige
Anzeige

Sämtliche Verlinkungen werden weiterhin über die IDs der Seiten oder Inhaltselemente erzeugt. Auch auf gemeinsame Dateien können Sie über das Modul Dateiliste zugreifen. Jedoch sollten Sie dabei beachten, dass TYPO3 standardmäßig nicht kontrolliert, in welcher Domain diese Seite liegt. So kann es vorkommen, dass bei Verknüpfungen über mehrere Domains hinweg die Domain der aktuellen Website übernommen wird. Da die gewünschte Seite jedoch nicht in den Seiten der aktuellen Domain liegt, führt der Klick auf den Link nicht auf die korrekte Seite.

Dieses Phänomen umgehen Sie, indem Sie folgende Option in Ihrem TypoScript-Setup aktivieren:

TYPOSCRIPT
config {
 typolinkCheckRootline = 1 
}

Listing 1

TYPO3 kontrolliert nun für jeden internen Link die dazugehörige Domain. So stellen Sie sicher, dass TYPO3 bei jedem internen Link zusätzlich zu den Sichtbarkeitseinstellungen auch die jeweilige Domain berücksichtigt, in der die Seite liegt. Für die Umsetzung der Links wird dabei der zuerst gefundene Domain-Datensatz ausgewertet. Achten Sie darauf, wenn Sie mehrere Domain-Datensätze für einen Seitenbaum angelegt haben.

Anzeige
Anzeige

Die Inhaltseingabe beschleunigen

Problem

Sie möchten Ihre Inhalte schneller und effizienter eingeben.

Lösung

Verwenden Sie den Bearbeitungsmodus „Schnelleingabe“ im Modul „Seite“.
Mit der Schnelleingabe steht Ihnen ein Eingabemodus zur Verfügung, mit
dem Sie Inhaltselemente schnell bearbeiten und neu erzeugen können.

Wechseln Sie also in das Modul „Seite“ und klicken Sie auf die Seite,
deren Inhalt Sie bearbeiten möchten. Der Seiteninhalt wird dann dem
aktuellen Darstellungsmodus entsprechend entweder nach Spalten,
Sprachen oder im Schnelleingabe-Modus angezeigt. Falls die
Schnelleingabemaske nicht gleich erscheint, finden Sie rechts oben ein
Auswahlfeld, mit dem Sie den Bearbeitungsmodus einstellen können.
Wählen Sie dort die Option „Schnelleingabe“. Danach ändert sich die
Eingabemaske, und Sie können über das Schnelleingabeformular Inhalte
direkt anwählen und editieren.

Anzeige
Anzeige

Unterhalb der Eingabemaske für den Datensatz werden alle anderen
Seiteninhalte aufgelistet, die sich in der Seite befinden. Der aktuelle
Datensatz wird in der Liste mit einem roten Pfeil gekennzeichnet.
Klicken Sie auf einen der Titel, öffnet sich umgehend die Eingabemaske
für das entsprechende Inhaltselement. Beachten Sie dabei, dass Ihre
Änderungen unwiderruflich verloren gehen, wenn Sie vor dem Wechsel die
Inhalte nicht abspeichern.

Innerhalb der Liste können Sie auch neue Seitenelemente hinzufügen.
Klicken Sie dazu auf den Pfeil an der gewünschten Position. Nach dem
Speichern erzeugt TYPO3 den Datensatz an der gewünschten Stelle.
Beachten Sie, dass der Bearbeitungsmodus „Schnelleingabe“ in SysOrdnern
ausgeblendet wird.

Diskussion

Um die Eingabe noch effektiver zu gestalten, können Sie in der
Schnelleingabe die Feldanordnung über das Benutzer- oder
Seiten-TSconfig anpassen. Mit dem folgenden Code verschieben Sie das
Feld Text vor das Feld Überschrift:

Anzeige
Anzeige
TYPOSCRIPT
mod.web_layout.tt_content { 
fieldOrder = bodytext, header 
}

Listing 2

Dies ist dann hilfreich, wenn Sie bestimmte Felder hintereinander
bearbeiten möchten, etwa um Inhalte in einer festen Reihenfolge zu
kopieren. Beispielsweise können Sie damit die Tabulator-Reihenfolge so
optimieren, dass Sie mit jeweils einem Tabulator-Schritt ins nächste
Feld springen. Alle übrigen Felder werden nach den Standardangaben
angeordnet. Beachten Sie, dass die Angaben im Benutzer-TSconfig die
Angaben im Seiten-TSconfig überschreiben.

Eine vollständige Liste der möglichen Feldnamen erhalten Sie über
das Modul „Konfiguration“. Wählen Sie dort den Eintrag „$TCA (tables.php)“
in der Auswahlliste. Danach klappen Sie beim Eintrag „tt_content“ den
Wert „columns“ auf. Damit erhalten Sie eine Liste der möglichen
Feldnamen, die Sie umstellen können (in Rezept 1.4 erfahren Sie mehr
über das Modul „Konfiguration“).

Um die Inhaltseingabe zusätzlich zu beschleunigen, geben Sie folgenden Code in das Benutzer-TSconfig-Feld ein:

Anzeige
Anzeige
TYPOSCRIPT
options.saveDocNew = 1

Listing 3

Damit erweitern Sie die Optionspalette zum Speichern um die Funktion Dokument sichern
und neues anlegen für alle Datensätze. In Abbildung 3-4 sehen Sie die Palette vor und nach
der Aktivierung dieser Funktion.

Neue Datensätze können Sie so direkt aus der aktuellen Eingabemaske
heraus anlegen. Möchten Sie diese Speicherfunktion nur auf spezielle
Tabellen anwenden, verwenden Sie folgenden Code:

TYPOSCRIPT
options.saveDocNew = 0 
options.saveDocNew.[tabellen_name] = 1

Listing 4

Die Option „Speichern und neu“ wird so nur bei der angegebenen
Tabelle sichtbar. Umgekehrt können Sie diese Option in der Form auch
für spezielle Tabellen deaktivieren:

Anzeige
Anzeige
TYPOSCRIPT
options.saveDocNew = 1

Listing 5

Standardmäßig werden die so erzeugten Datensätze immer unterhalb
des bestehenden Datensatzes geschrieben. Möchten Sie die Datensätze
oberhalb der bestehenden anlegen, geben Sie folgenden Code ein:

TYPOSCRIPT
options.saveDocNew = top

Listing 6

Analog zu den oben beschriebenen Einstellungen können Sie diese Option auch nur auf spezielle Tabellen anwenden:

TYPOSCRIPT
options.saveDocNew.[tabellen_name] = top

Listing 7

Beachten Sie, dass im Seitenmodus „Schnelleingabe“ die Option „Speichern und neu“ nicht vorhanden ist. Sie können jedoch unter jedem
Element automatisch einen neuen Datensatz anlegen, wenn Sie auf einen
der grauen Pfeile zwischen den vorhandenen Seitenelementen klicken.
Daraufhin öffnet sich gleich die Eingabemaske des neuen Elements.

Indem Sie auf den Titel eines bestehenden Datensatzes klicken, öffnen Sie den entsprechenden Datensatz für die Bearbeitung.

Spezielle Menütypen: Brotkrumen- oder Rootline-Navigation

Problem

Sie haben spezielle Anforderungen an ein Menü, die über die simple
Wiedergabe eines Seitenbaums hinausgehen. So wollen Sie zum Beispiel
eine Brotkrumen-Navigation erstellen, die dem Betrachter den kompletten
Pfad von der Root-Seite bis zur aktuellen Seite anzeigt.

Lösung

Verwenden Sie den HMENU-Parameter „special“ und dessen Wert rootline:

TYPOSCRIPT
temp.beispielmenu = COA 
temp.beispielmenu { 
	10 = HMENU 
	10 { 
		special = rootline 
		special.range = 1|-1 
		1 = TMENU 
		1 { 
			NO {
				allWrap = |<br />
			} 
		}
	} 
}

Listing 8

Beachten Sie, dass wir in diesem Beispiel TMENU als Platzhalter für
eine der möglichen Varianten TMENU, GMENU, TMENU_LAYERS, GMENU_LAYERS,
IMGMENU und JSMENU verwendet haben. Je nach Variante müssen Sie
gegebenenfalls andere Parameter setzen, um die volle Funktionalität des
Menüs zu erreichen. Lesen Sie dazu bei Bedarf die entsprechenden
Rezepte.

Diskussion

Neben den üblichen Navigationen, die im Prinzip einen kleineren oder
größeren Teilbereich eines Seitenbaums wiedergeben, kommen immer öfter
so genannte Breadcrumb-Menüs zum Einsatz. Die Bezeichnung bedeutet
übersetzt Brotkrumen-Navigation und ist eine Metapher, die dem
bekannten Märchen Hänsel und Gretel entliehen wurde. Hänsel benutzt
bekanntlich Brotkrumen, um eine Spur durch den Wald zu legen, damit die
beiden den Weg zurück wiederfinden können.

Genau darum geht es bei einer Brotkrumen-Navigation, nämlich dem
Betrachter einer Seite den Weg zurück zur Root-Seite zu zeigen. Genau
genommen handelt es sich auch hier um einen Teilbereich eines
Seitenbaums, jedoch nur um den gerade aktiven Ast, oder, um den
offiziellen TYPO3-Terminus zu benutzen, die Rootline. Der entsprechende
Typ, den Sie dem HMENU mit Hilfe von „special“ zuweisen müssen, heißt
demzufolge rootline.

Die Ausgabe eines solchen Rootline-Menüs könnte zum Beispiel so aussehen:

Sie befinden sich hier:

Rootline-Menü
Ebene 1.1 > Ebene 2.1 > Ebene 3.4 > Ebene 4.2 > aktuelle Seite

Listing 9

Dabei sollten Sie den Link für die aktuelle Seite auf jeden Fall
abschalten, um Verwirrung beim Betrachter zu vermeiden. Alle anderen
Seiten sollten prinzipiell verlinkt sein, damit der Betrachter
jederzeit ohne großen Aufwand zu einer beliebigen Stelle der Rootline
zurückgelangen kann. Dies ist der Code für das eben gezeigte Beispiel:

TYPOSCRIPT
temp.beispielmenu = COA 
temp.beispielmenu { 
	10 = HMENU 
	10 { 
		special=rootline 
		special.range = 1|-1 
		1 = TMENU 
		1 { 
			NO {
				doNotLinkIt = |*| 0 |*| 1 
				allWrap = |*| |&nbsp;&gt;&nbsp; |*| | 
			} 
		} 
	} 
}

Listing 10

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige