Zum Inhalt springen

Typo3-Session an Script weitergeben?

Erstellt am 30. November 2006 · 4 Antworten · letzte Antwort am 6. Dezember 2006

Tags: Frage

The_Gunslinger ·

Soo!

Jetzt komm ich grade gar nicht mehr weiter.

Ich versuche gerade meiner Extension (einem IMAP Webmail-Interface) beizubringen, dass man einen Mailanhang runterladen kann.

Dazu rufe ich eine datei ..._download.php aus dem Extension-Verzeichnis auf.

Das ist nötig, da man zum Downloaden der Extension bestimmte Seiten-Header an den Browser senden muss. Also kann ich das nicht im restlichen Code der Extension machen. Denn wenn das Extension-Script ausgeführt wird, dann sind die Header ja schon abgeschickt.

Damit ich aber das Attachment an den Browser schicken kann, muss ich auf das Mailfach zugreifen können. In der Extension baue ich dazu die IMAP-Verbindung auf und schleppe den Resource-Identifier mit.

Meine Frage ist nun. Wie geben ich diesen an die downlad.php weiter, wenn ich diese manuell per Link mit den ansonsten benötigten Parametern aufrufe.

Per GET lässt sich der Resource-Identifier nicht übertragen.

Ich habs schon versucht, den Identifier in die Typo3 Session zu schreiben. Aber wenn ich dann in der download.php das hier mache:

$tmp_session_data =  $GLOBALS['TSFE']->fe_user->getKey('user','tx_extensionkey');

bekomme ich: Call do a member-function on an non-object.

Wie krich ich das gebacken?

jenses ·

Du rufst ..._download.php außerhalb von TYPO3 auf, das kennt natürlich kein $GLOBALS['TSFE'] ;-).
Integriere ..._download.php in die Extension, bring ein speziell konfiguriertes PlugIn auf einer separaten Seiten unter. Auf dieser Seite erstellst du ein ext-Template, in dem du sämtliche TYPO3-Standardausgaben unterbindest,
den Seiten-Header läßt du von der Extension ausgeben.
Wie das geht, ist u.a. in der TSRef, TYPO3 Core API usw. beschrieben.

The_Gunslinger ·

Danke!

Das ist doch schon mal etwas! Werde mal nach suchen.

Kann mir jetzt noch jemand sagen, wie ich ein neues Plugin zu meiner Extension hinzufüge? Geht das über "Extension im Kickstarter bearbeiten"?
Wird dann nicht der Code meiner Extension dann überschrieben?

The_Gunslinger ·

Also, ich komm hier nicht weiter, kann mir jemand nen Schups in die richtige Richtung geben?

Wie erweitere ich die Extension um ein Plugin?

Und zum Thema ExtTemplate hab ich auch bisher nichts brauchbares gefunden.

Ich wäre schon für ein paar Links dankbar.

Mfg

Revolvermann

steffenk ·

Du kannst im Kickstarter eine Ext bearbeiten und ein weiteres Plugin hinzufügen. Beim Schreiben halt drauf achten, das Du nichts überschreibst, oder manuell die entsprechenden Teile in die Ext kopieren.

ExtTemplate - was meinst Du ?