TYPO3weblog.de

Das Blog zu TYPO3, JavaScript und openSource

Entries for the ‘Extensions’ Category

Neue Version von timtab_twitter

Heute Abend habe ich ein neues Feature eingebaut und die Version 0.2.0 von timtab_twitter veröffentlicht. Ab jetzt werden per default URLs in den Messages auch als klickbare Links dargestellt. Die URLs müssen nicht einmal mit http beginnen. Das ganze kann man natürlich per TypoScript abschalten. Wenn Ihr weitere Ideen für timtab_twitter habt, dann immer her damit.

Comments (12)

Adventskalender 2008: Türchen 19

Eine Weihnachtsfeier jagt die nächste, auf der einen Seite ist es immer sehr nett, auf der anderen Seite gerät man schnell in Streß. Naja, heute ein wenig verspätet nun das Türchen 19. Tim hat Euch gestern im Türchen 18 gezeigt, wie man mit TypoScript schicke GMENUs erzeugt. Heute möchte ich wieder ein wenig PHP Code zeigen.

Diesmal geht es um die Benutzung der Session in TYPO3. In der Regel genügt nur eine Zeile Code um einen Wert in die Session zu schreiben oder wieder heraus zu holen. Schauen wir uns erstmal an, wie man etwas in die Session schreibt:

$GLOBALS["TSFE"]->fe_user->setKey("ses", "tx_myext", $data);

Die Funktion setKey() erwartet drei Parameter:

  1. Type: Dieser kann “ses” oder “user” sein.
  2. Key: Eindeutiger Ident für eine Session Variable
  3. Data: Die Daten die gespeichert werden sollen.

Die beiden Typen “ses” und “user” unterscheiden sich wesentlich. Während der Typ “ses” nur temporär die Daten speichert, also genau so lange, wie die Session besteht (Session-Cookie), ist es mit dem Key “user” möglich, die Daten auch über mehrere Sessions hinweg zu speichern, wobei diese an den FE-User gekoppelt werden.

Der Key sollte so gewählt werden, dass man nicht in Konflikt mit anderen Extensions kommt. Am besten benutzt man seinen Extension-Key dafür.

Die Daten die man speichern will kann jede beliebige PHP Variable sein, sogar komplette Objekte kann man ablegen.

So, nun wollen wir uns den Wert mal wieder raus holen, auch dies geht sehr schnell und einfach:

$data = $GLOBALS["TSFE"]->fe_user->getKey("ses", "tx_myext");

Die Methode getKey erwartet nur zwei Parameter, die Bedeutung ist die gleiche wie bei setKey().

Das Leben kann so einfach sein, wenn es nicht ab und an diese kleinen fiesen Sonderfälle gibt ;)

Nehmen wir mal an, man erzeugt ein PDF oder eine AJAX-Antwort, dann gibt man das PDF aus und steigt mit einem exit() oder die() aus. In diesen Fällen, reicht ein einfacher Aufruf von setKey() nicht aus. Denn TYPO3 kann dann die Daten nicht automatisch speichern. Aber hier schafft der folgende Code Abhilfe:

$GLOBALS["TSFE"]->fe_user->setKey("ses", "tx_myext", $data);
$GLOBALS["TSFE"]->fe_user->storeSessionData();

Mit storeSessionData() sorgen wir dafür, dass TYPO3 umgehend die Werte speichert. Sehr häufig wird gerade auf die letzte Zeile verzichtet, was in der Regel auch funktioniert, jedoch nur so lange, wie kein Fehler auftritt oder das Script vorzeitig beendet wird.

Fröhliches Session-Handling Euch allen :)

Kommentare deaktiviert

Adventskalender 2008: Türchen 3

Nachdem Tim gestern das zweite Türchen geöffnet hat kommt nun Türchen 3 dran.

Ich möchte Euch heute eine Extension vorstellen, welche ich erst vor kurzem entdeckt habe, dabei ist diese gar nicht so neu. Es geht um die Extension “DB Integration“.

Die Extension ermöglicht es auf eine sehr schnelle und einfach Art jede beliebige Tabelle im Frontend zu bearbeiten. Dazu gibt es eine Listenansicht, Insert & Edit Ansicht sowie einen Wizard. Ich habe den Wizard noch nicht testen können, aber die Listen und Edit-Ansichten funktionieren einwandfrei. Über Hooks kann man die Querys noch verändern um z.B. die Tabelle tt_address mit einem FE-User zu verknüpfen. So kann man in nur wenigen Minuten ein Adressbuch erzeugen, welches für jeden FE-User getrennt verwaltet wird.

Hier ein Screenshot von dem Wizard im Backend, mit dem man sehr bequem ein Formular definieren kann, welches später im Frontend automatisch erzeugt wird.

[caption id="" align="alignnone" width="250" caption="Formular-Wizard im Backend"]Formular Wizard[/caption]Und hier noch ein Screenshot vom Query-Wizard für die Listen-Ansicht, jedes nur erdenkliche SQL-Query lässt sich damit erstellen.

[caption id="" align="alignnone" width="250" caption="Query-Wizard im Backend"]Query Wizard[/caption]Die Dokumentation ist sehr umfangreich und bietet einen schnellen Einstieg in die Extension.

In fast jedem Projekt braucht man Frontend-Editing für eigene Tabellen, diese Extension nimmt einen massig viel Arbeit ab. Von meiner Seite her gibt es ein fettes Lob an die Entwickler, tolle Arbeit!

Comments (3)

Neue Version von dam_frontend mit Dateiupload im Frontend

Heute ist eine neue Version von dam_frontend im TER erschienen. Die Version 0.2.0 hat ein wesentliches neues feature. Endlich ist es möglich über das Frontend auch Dateien upzuloaden. Ich habe die Extension bereits seit langem für ein Download-Center im Einsatz. Mich störte es schon lange, dass die Frontend-User die Inhalte mir immer per mail schickten, jetzt können sie selber uploaden. Ein Patch von mir und ein Patch von meinem Kollegen Tom Rüther haben es auch in die neue Version geschafft. Vielen Dank an Martin Baum und Stefan Busemann für die netten neuen features:

  • feature 1261: Fileupload and categorisation: Now a frontend user can upload files to the dam
  • feature 1297: Static category selection in pi1 (thanks to Frank Nägler)
  • feature 1319: Counter feature in filelist in pi1 (thanks to Tom Ruether)

Leider gibt es auch etwas negatives an der neuen Version: Bei der Installation musste ich realurl deaktivieren, weil dam_frontend und realurl zusammen zu einem Konflikt führen. Ich werde da mal bei Stefan nachfragen, wo genau das Problem liegt.

Comments (4)

T3dev Version 1.1.0 endlich fertig

TYPO3Seit wenigen Minuten ist nun endlich auch die Version 1.1.0 von T3dev raus. Das Changelog verrät, dass dieses release nun einen FlexForm-Generator enthält. Mit diesem kann man – ähnlich wie mit dem Kickstarter – seine FlexForms einfach zusammen klicken. Es sind sicherlich noch ein paar Dinge zu verbessern, auch fehlen noch zwei Feldtypen, aber man kann bereits sehr gut seine FlexForms erzeugen. Auch das erneute editieren ist möglich, Voraussetzung dafür ist jedoch, dass die Flexform mit T3dev erzeugt wurde. Gerade dieser Punkt stört mich noch und soll sich zukünftig ändern.

Ein weiteres neues Feature ist das neue Link-Menu: Mit der Version 1.1.0 ist es nun möglich die einzelnen Untermenüs ein- und auszuklappen.  Außerdem wurden die APIDocs erweitert.

Wie immer freue ich mich über Feedback. Die neue Version ist im TER, im SVN und hier als T3X-Export zu haben.

Comments (1)