Extensionmanager: Fatal error: Call to a member function getUid() on a non-object

Gestern war es wieder einmal so weit: leises Fluchen war zu hören. Grund hierfür war, dass der Extensionmanager einer frischen TYPO3-Installation keine Extension installieren wollte, sondern seinen Dienst mit einer Fehlermeldung abbrach:

Fatal error: Call to a member function getUid() on a non-object in /var/www/test/typo3/6.1.5/typo3/sysext/extensionmanager/Classes/Utility/Repository/Helper.php on line 251

Recht schnell war verständlich, dass hier auf ein nicht vorhandenes Repository versucht wird zuzugreifen. Aber warum? Bei einer frischen Installation sollte das doch funktionieren? Und es tut doch normal auch… Wir wollten es wissen. Was geht hier (manchmal) schief?

Wir setzten schnell eine frische Test-Installation auf – alles passt. Dann gab so eine Idee: „Ach, ähm, ich musste die Datenbankstruktur gestern nochmal neu anlegen“. Also löschten wir alle Tabellen aus der Datenbank und legten diese via Install Tool -> Database Analyser -> COMPARE neu an. Und siehe da, der Extensionmanager versagt seinen Dienst mit obiger Meldung 🙂

Weiterlesen»

Marker in CONTENT/TS-basierten DB-Abfragen

Über den Bugtracker stößt man immer wieder auf interessante Features, von denen man gar nicht wusste, dass TYPO3 sie hat.

Im Eintrag #13940 wird z.B. als Feature angeregt, Marker in der select-Syntax einzubauen,w as dann etwas so aussehen könnte:

// Example of use in TypoScript (not very realistic, but it works correctly):
10 = CONTENT
10 {
    table = tt_news
    select {
        selectFields = title,uid
        pidInList = 4
        where = title > ###whatever###
        markers {
            whatever.data = GP:first
        }
    }
}

Das Interessante daran ist: seit April 2010 (TYPO3 4.4.0-beta1) ist das auch schon im Core drin!