Zum Inhalt springen

Fatal error: Undefined class name 't3lib_spritemanager'

Erstellt am 30. Oktober 2010 · 2 Antworten · letzte Antwort am 3. November 2010

Tags: PHP, Frage

intensivstation ·

Typo3-Extensions zu schreiben ist nicht einfach.
Wenn ich nun ein Bild bei einem Sysfolder anbieten will, gibt es 2 Möglichkeiten.
Die alte Möglichkeit:

$ICON_TYPES['news'] = array('icon' => t3lib_extMgm::extRelPath($_EXTKEY).'res/gfx/ext_icon_ttnews_folder.gif');

Die kann man aber nicht mehr benutzen,
da die deprecatet ist und dadurch das Log-File voll geschrieben wird!
Die neue Möglichkeit:

t3lib_SpriteManager::addTcaTypeIcon('pages', 'contains-news', t3lib_extMgm::extRelPath($_EXTKEY) . 'ext_icon_news_folder.gif');

Diese Möglichkeit kann man auch nicht benutzen, da alte Typo3-Versionen (z.B. 4.1.2) diesen Error werfen:
Fatal error: Undefined class name 't3lib_spritemanager'
Dieser Fehler ist "tödlich" für Typo3.

Was also tun, um ein Sysfolder-Icon anzubieten???

intensivstation ·

Ich habe mir mal tt-news genauer angesehen, da diese Extension das Deprecation-Log-File voll schreibt. Tatsächlich habe ich dort ne Versions-Abfrage gefunden.
Denke so könnte man nun tt-news dazu bringen, je nach Typo3-Version das richtige zu laden:

if (t3lib_div::int_from_ver(TYPO3_version) >= 4003000) {
  t3lib_SpriteManager::addTcaTypeIcon('pages', 'news', t3lib_extMgm::extRelPath($_EXTKEY) . 'res/gfx/ext_icon_ttnews_folder.gif');
} else {
  $ICON_TYPES['news'] = array('icon' => t3lib_extMgm::extRelPath($_EXTKEY).'res/gfx/ext_icon_ttnews_folder.gif');
}

Jemand sollte das am besten in tt-News dann einbauen...