Tech 7. Mar. 2007

TYPO3: Frontend Dateiupload mit DAM

Beim Einsatz von DAM für die Dateiverwaltung und gleichzeitiger Nutzung von Funktionen zur Interaktion mit den Website-Benutzern gelangt man schnell zu der Frage: Wie bekomme ich nun Bilder oder Dateien die ein Frontend-User hochlädt in das DAM rein.

Der Ansatz ist einfach. Man bastelt sich eine API Funktion, welche Uploads in einem PI entgegennehmen kann und beim Speichern ein paar Funktionen aus dem DAM Framework aufruft, mit denen die Benennung, die Indizierung und das Anlegen der richtigen Meta-Daten erfolgen kann.

Leider stößt man dabei immer wieder auf eine Hürde: Die DAM Funktionalitäten sind für das TYPO3 Backend ausgelegt. An vielen Stellen findet man Funktionen, mit denen man die Abhängigkeit von dem Backend-Kontext umgehen kann, doch immer un immer wieder kommt man wieder am Anfang an. Es muss ein Backend-Kontext bestehen.

Der einzige Weg scheint also die Emulation eines Backend-User innerhalb der Frontend-Plugins zu sein. Hierfür (auch in Zusammenhang mit der DAM Problematik) haben wir eine gute Anleitung mit Beispielfunktionen gefunden.

Wir haben diese Funktionen jetzt in einem Projekt eingesetzt und sie funktionieren wunderbar. Allerdings fehlt noch ein Include der Datei class.t3lib_tsfebeuserauth.php. Ebenfalls sind noch ein paar Zeilen Code für den Upload selbst nötig.

Beim Einsatz von DAM für die Dateiverwaltung und gleichzeitiger Nutzung von Funktionen zur Interaktion mit den Website-Benutzern gelangt man schnell zu der Frage: Wie bekomme ich nun Bilder oder Dateien die ein Frontend-User hochlädt in das DAM rein.

Der Ansatz ist einfach. Man bastelt sich eine API Funktion, welche Uploads in einem PI entgegennehmen kann und beim Speichern ein paar Funktionen aus dem DAM Framework aufruft, mit denen die Benennung, die Indizierung und das Anlegen der richtigen Meta-Daten erfolgen kann.

Leider stößt man dabei immer wieder auf eine Hürde: Die DAM Funktionalitäten sind für das TYPO3 Backend ausgelegt. An vielen Stellen findet man Funktionen, mit denen man die Abhängigkeit von dem Backend-Kontext umgehen kann, doch immer un immer wieder kommt man wieder am Anfang an. Es muss ein Backend-Kontext bestehen.

Der einzige Weg scheint also die Emulation eines Backend-User innerhalb der Frontend-Plugins zu sein. Hierfür (auch in Zusammenhang mit der DAM Problematik) haben wir eine gute Anleitung mit Beispielfunktionen gefunden.

Wir haben diese Funktionen jetzt in einem Projekt eingesetzt und sie funktionieren wunderbar. Allerdings fehlt noch ein Include der Datei class.t3lib_tsfebeuserauth.php. Ebenfalls sind noch ein paar Zeilen Code für den Upload selbst nötig.