Verschiedene Logos bei mehrsprachigen Seiten mit dem jweiland Typo3-Musterprojekt

Das Typo3-Musterprojekt von jweiland ist der perfekte Einstieg in die Typo3-Welt. Wer also die ersten Schritte mit Typo3 gehen möchte, dem kann ich das Musterprojekt nur ans Herz legen. Mit Typo3 in der Version 9 oder höher ist das Einrichten von mehrsprachigen Seiten auch inzwischen kein Problem mehr und geht mit wenigen Klicks. Wer aber nun als Einsteiger eben jenes jweiland Musterprojekt in Kombination mit mehrsprachigen Seiten nutzen möchte, der trifft schnell auf erste Hindernisse. Wie man diese einfach aus dem Weg räumt, möchte ich in diesem Projekt zeigen.

Logo ändern im Musterprojekt von jweiland

Bevor wir das Logo für die internationale Seite ändern, muss natürlich erst einmal das Logo für die Standardsprache geändert werden. HINWEIS: Die Anleitung hier gilt für Typo3 9 LTS.

Wie man das Logo im Kopfbereich ändert hat jweiland sehr gut unter anderem in diesem Video: https://vimeo.com/307712293 beschrieben.

Das sollte man auch erst machen, bevor man das Logo für die weitere Sprache ändert.

Logo ändern für weitere Sprache im Musterprojekt von jweiland

Bevor es an das Umändern/Austauschen des bestehenden Logos für die weitere Sprache geht, muss natürlich erst einmal ein zweites Logo erstellt und in das Typo3-Projekt hochgeladen werden. In meinem Fall habe ich das Logo in den Ordner „fileadmin/bilder/“ in mein Typo3 hochgeladen.

Nun kann man ganz einfach mit etwas TypoScript je Sprache ein unterschiedliches Logo ausspielen lassen. Dafür muss man die Datei „lib.logo.typoscript“ via FTP herunterladen, bearbeiten und wieder hochladen.

Falls ihr keine Änderung am Musterprojekt von jweiland vorgenommen habt, dann findet ihr die Datei „lib.logo.typoscript“ im folgenden Pfad: „/typo3cms/muster/typo3conf/ext/jwmusterprojekt9/Configuration/TypoScript/Setup“.

Die Datei „lib.logo.typoscript“ sollte in der Ursprungsversion folgenden Inhalt haben:

## Logo with link to root page
lib.logo = IMAGE
lib.logo {
  file = {$jwmusterprojekt9.logoFile}
  altText = {$jwmusterprojekt9.companyName}
  stdWrap.typolink {
    parameter = {$jwmusterprojekt9.rootId}
    title = {$jwmusterprojekt9.companyName}
  }
}

Dieser Code sorgt dafür, dass für das Logo, jenes Bild ausgespielt wird, dass wir in die Konstante aus dem oberen Video hinterlegt haben. Dies können wir so auch erst einmal lassen. Nun wollen wir aber für eine andere Sprache ein anderes Logo hinterlegen. Dafür muss man lediglich unter diesen Code eine Abfrage nach Sprache machen und anschließend der Variablen „file“ einen anderen Wert zuweisen. Dies geht folgendermaßen:

[siteLanguage("languageId") == 1]
lib.logo {
  file = fileadmin/bilder/logo-en.png
  }
}
[global]

Damit sagen wir, dass die Sprache mit der Id=1 das Logo ausspielen soll, das unter dem Verzeichnis „fileadmin/bilder/“ mit dem Dateiname „logo-en.png“ liegt. Die Standardsprache hat die Id=0, jede weitere Sprache erhöht die Ids. Man muss nicht unbedingt die Fallunterscheidung per Id machen, sondern könnte beispielsweise auch andere Werte von meiner Spracheinstellungs-Konfiguration (Seitenverwaltung -> Sites ->Languages) nehmen, beispielsweise der Wert, der hinter locale hinterlegt ist. Bei mir ist die zweite Sprache beispielsweise EN und ich könnte die Abfrage ebenfalls folgendermaßen ändern:

[siteLanguage("locale") == "en_US.UTF-8"]

Eine Auflistung von möglichen „Conditions“, also abfragbare Bedingungen, findet man unter https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Conditions/Index.html

Die Datei sollte also am Ende mit zwei Sprachen, folgendermaßen aussehen:

Logo with link to root page
 lib.logo = IMAGE
 lib.logo {
   file = {$jwmusterprojekt9.logoFile}
   altText = {$jwmusterprojekt9.companyName}
   stdWrap.typolink {
     parameter = {$jwmusterprojekt9.rootId}
     title = {$jwmusterprojekt9.companyName}
   }
 }
 [siteLanguage("languageId") == 1]
 lib.logo {
   file = fileadmin/bilder/logo-en.png
   }
 }
 [global]

Das war es auch schon, wenn man nun die Datei wieder per FTP in das entsprechende Verzeichnis hochlädt, sollte bei einer anderen Sprache auch ein anderes Logo angezeigt werden.

Im übrigen kann man natürlich auch die anderen Variablen, wie z.B. den altText oder den title gleich an dieser Stelle überschreiben lassen.

2 Gedanken zu „Verschiedene Logos bei mehrsprachigen Seiten mit dem jweiland Typo3-Musterprojekt“

  1. Hallo.

    Ich steht gerade vor dem Problem das ich das Logo entsprechend der Sprache ändern möchte. Leider finde ich im Pfad die entsprechende Datei nicht. Ich habe sie jetzt selber angelegt. Dabei wird aber ein Fehler auf dem Frontend angezeigt.
    Sobald ich den unteren Teil mit dem verweiss auf das Engl. Logo aus dem Script entferne, läuft die Seite wieder wie gehabt. Die SprachID ist wie im Beispiel die 1.

    Aktuell nutze ich die 9.5.24

    Wo könnte der Fehler sein?

    MFG

    Antworten
    • Geht noch einfacher so : Du kannst es einfach im Setup des Root Templates einfügen.
      [siteLanguage(„languageId“) == 1]
      {
      page.10.settings.logoFile = fileadmin/user_upload/header/logoFR1v1.jpg
      }
      [global]

      Antworten

Schreibe einen Kommentar