Aug 03
facebook TYPO3: TEXT vs. IMAGE als Logotwitter TYPO3: TEXT vs. IMAGE als Logogoogleplus TYPO3: TEXT vs. IMAGE als Logoxing TYPO3: TEXT vs. IMAGE als Logolinkedin TYPO3: TEXT vs. IMAGE als Logo

dreamstime 7086522 300x199 TYPO3: TEXT vs. IMAGE als Logo

Möchte man in TYPO3 ein Logo dynamisch per TypoScript in eine Seite einfügen, kann man entweder das TEXT-cObject mit direkter Ausgabe des img-HTML-Tags oder das TYPO3 eigenen IMAGE-cObject verwenden. Beide Varianten haben Unterschiede in Performance, Caching-Verhalten und Fehlersuche (-behandlung).

Vorteile der Variante Logo als TEXT einbinden

Das TEXT-Objekt ist das schnellste in TYPO3 überhaupt. Es finden, wenn keine stdWrap-Funktionen genutzt werden, nur wenige Schritte im PHP bis zur Ausgabe des Strings statt. Im Fehlerfall, wenn also das Bild z.B. nicht gefunden wurde, wird der HTML-Tag trotzdem ausgegeben. Das fehlende Logo ist auch im HTML sichtbar und kann sofort korrigiert werden. Es genügt hierbei, einfach die entsprechende Datei zur Verfügung zu stellen, einen Cache zu löschen ist nicht notwendig.

lib.myfastlogo = TEXT
lib.myfastlogo {
  value = <img src="fileadmin/dmclogo.gif" alt="our logo"/>
  typolink.parameter = 2
}

Vorteile des IMAGE-cObjects

Das IMAGE-cObject stellt viele Möglichkeiten zur Skalierung und Bearbeitung von Bildern zur Verfügung. Aber auch wenn man diese nicht nutzt, ist das IMAGE-cObjekt, zumal beim ersten Aufruf, deutlich langsamer als das TEXT-cObjekt. Die Daten des Bildes werden als md5-Prüfsumme in der Datenbank gecacht, aber auch der Abruf von Caches dauert länger als die direkte Ausgabe eines Caches. Im Fehlerfall (Logo-Datei wurde nicht gefunden) wird auch kein img-Tag ausgegeben. Dies erschwert die Suche danach, warum das Logo fehlt, hat aber auch den Vorteil, das Besucher nicht gleich bemerken, dass ein Bild fehlt. Möchte man die fehlende Datei hinzufügen, so muss man den TYPO3-Cache leeren, bevor das Bild wieder angezeigt wird. Ist das Bild nicht so auffällig, bleibt eventuell ein fehlendes Bild lange unerkannt. Dieses kann dann auch nicht in den Cache geschrieben werden und so sucht TYPO3 bei jedem Aufbau einer Seite erneut nach dem fehlenden Bild.

lib.myslowlogo = IMAGE
lib.myslowlogo {
  file = fileadmin/dmclogo.gif
  altText = our logo
  stdWrap.typolink.parameter = 2
}
17.thumbnail TYPO3: TEXT vs. IMAGE als Logo

Über Lina Wolf

Lina Wolf zeigt Kawumba nützliche Kniffe in der Bedienung von TYPO3 und ist stets bei der Frage: „Welches sind die Trends von Morgen in puncto Internettechnologie?“

  • http://www.xing.com/profile/Lina林娜_Wolf Lina Wolf

    Und wie gibts Du von TYPO3 aus gesehen das Bild aus? Du kannst es ja auch in dem Fall als TEXT oder als IMAGE cObject ausgeben.

  • http://blog.oneserv.de Maxim

    Es geht übrigens auch beides auf einmal.
    Zumindest, wenn man den Text als div-Element mit display:block einbindet und dem ganzen dann ein Background-Image via CSS gibt und den lesbaren Text mit Text-Indent aus dem sichtbaren Bereich schiebt ;)

  • http://www.xing.com/profile/Lina林娜_Wolf Lina Wolf

    Hallo Nils,

    wenn Du meinst, Bugs im TYPO3 Core oder Systemextensions gefunden zu haben, solltest Du dieses auf http://forge.typo3.org/ melden. Wenn Du Dir nicht sicher bist, ob es ein Bug ist, dann solltest Du Dich an http://lists.typo3.org wenden. In diesem Artikel geht es um ein ganz anderes Thema.

    Grüße Lina

  • Nils Andre

    Sehr interessant. Andere Frage: Gibt es bei der dmc schon Erfahrung mit Typo3 4.7 in Kombination mit PHP 5.4? Habe einen potentiellen Fehler in PHP 5.4 entdeckt, der kann aber auch auf mein Kompilat zurückzuführen sein. Nach einer Neuinstallation von Typo3 in einer solchen Umgebung und der Nutzung von FLUIDTEMPLATEs kommt es zu PHP-Fehlern: “Typo3 exception: the parameter class is expected to be either a string or an object”. Erfahrungen hiermit?