[TYPO3-german] Reihenfolge der verwendeten Extensions beeinflussen

tdeuling tdeuling at gmail.com
Mon Aug 20 21:57:44 CEST 2012


Hi,
zuerst einmal, ich habe diese Frage schon in einem anderen Forum
gestellt, nur leider noch keine Antwort erhalten, daher versuche ich
hier noch einmal mein Glück.

Ich programmiere seit einiger Zeit Extensions und bin nun auf ein
Problem gestossen.

Ich versuche mal gerade die Umgebung zu beschreiben.
Also, ich habe mehrere Extbase-Extensions:
1. Eine Basis-Extension die immer wiederkehrende Funktionalitäten
bereitstellt. Diese Extension ist einfach da, und stellt Klassen
(ViewHelper, Services, etc.) bereit.
2. Eine Client-Extension die spezielle Plugins für den Kundenauftritt
beinhaltet (bspw. eine rudimentäre Warenkorbfunktion und eine spezielle
Umfrage). Diese werden einfach auf verschiedenen Seiten als
ContentElemente/Plugins eingebunden.
3. Eine Flash-Message Extension, die lediglich dafür da ist Meldungen
aus dem FlashMessanger auszugeben. Diese wird über TypoScript
eingebunden, damit diese auf allen Seiten verfügbar ist und ich sie
nicht überall per Hand einsetzen muss:
Code:

lib.flashMessage = USER
lib.flashMessage {
    userFunc = tx_extbase_core_bootstrap->run
    pluginName = Flashmessage
    pluginKey = tx_codingmsflmsg
    extensionName = CodingMsFlmsg
    controller = FlashMessage
    action     = display
    settings    =< plugin.tx_codingmsflmsg.settings
    persistence =< plugin.tx_codingmsflmsg.persistence
    view        =< plugin.tx_codingmsflmsg.view
}

Das funktioniert alles super. Die Client-Extension arbeitet gut mit der
Basis-Extension zusammen, und die Flash-Message Extension gibt
entsprechend Meldungen aus.

Das Problem ist nun, das anscheinend nicht immer die Reihenfolge der
Extensions stimmt. Bei dem Warenkorb-Plugin funktioniert alles richtig:
0-> Seitenaufruf -> Warenkorb-Logik -> Warenkorb-Messages ->
Flash-Message Ausgabe -> Seite wird angezeigt

Bei der Umfrage ist nun das Problem das die Flash-Messages immer einen
Seitenaufruf später angezeigt werden:
0-> Seitenaufruf -> Flash-Message Ausgabe -> Warenkorb-Logik ->
Warenkorb-Messages -> Seite wird angezeigt

Wenn also auf Seite 1 (theorestisch) am Ende der Ausführung eine
Nachricht 'Alles hat geklappt' angezeigt werden soll, erscheint diese
erst wenn ein Link geklickt wird oder die Seite neu geladen wird.

Meine Frage nun: Wie kann ich die Reihenfolge der Ausführung der
Extensions beeinflussen!?

In der localconf.php unter $TYPO3_CONF_VARS['EXT']['extList'] wird ja
nur die include-Reihenfolge angegeben (wenn ich das richtig sehe), die
auch so stimmen sollte.

Die Extension die ich via TypoScript einbinde muss immer als letztes
ausgeführt werden.

Freue mich über jeden Tipp! :)


More information about the TYPO3-german mailing list